Project

smartfile

0.0
No commit activity in last 3 years
No release in over 3 years
Easily use the SmartFile APIs within your ruby or rails project.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0
 Project Readme

SmartFile

A ruby client wrapper for the SmartFile file platform. SmartFile has free developer accounts with 1 user, 100GB storage, and 200GB monthly transfer!

Works with Ruby 1.9 and likely 2.0 (Has not been tested) This is an early version and the interface might change so use at your own risk. As of version 0.1, only whoami and ping paths have been tested! I added some others to play around with for the next gem version.

API Paths Currently Implemented

  • Path - Info, as :path_info
  • Path - Data, as :path_data
  • Path - Search, as :path_search
  • Ping, as :ping
  • Whoami, as :whoami
  • Session, as :session

Setup:

Instructions assume you are using Rails, but Rails is not required.

Create the file config/smartfile.yml:

key: your smartfile apikey here
pass: your smartfile password here

Create the file config/initializers:

api_config_path = "#{Rails.root}/config/smartfile.yml"
if File.exists?(api_config_path)
  SMARTFILE_CONFIG = YAML.load_file(api_config_path)
end

Usage:

call = SmartFile.new
params = {:attribute => "query"}
call.setup(:whoami, format = "json")

# regular get
result = call.get(params)

# regular post
result = call.post(params)

# get or post with full response object
result = call.get(params, true)
puts result
=> "#<Net::HTTPOK 200 OK readbody=true>"
puts result.body
'{"ping": "pong"}'

Valid Return Formats:

  • json
  • json-p
  • json-t
  • html
  • xhtml
  • txt
  • xml

(Optional) Use Nokogiri to parse XML formatted results:

doc = Nokogiri::XML(result.body)

Then, to search for nodes existing in the result body by XML node name:

full_node = doc.css('nodeName')

To get the value of a node:

attr = doc.search('attr').text