class Restivus
Public Class Methods
all()
click to toggle source
# File lib/restivus.rb, line 78 def self.all @@results end
csv(filename)
click to toggle source
# File lib/restivus.rb, line 54 def self.csv(filename) csv_data = CSV.read filename headers = csv_data.shift.map {|i| i.to_s } headers.map! {|h| h.gsub(" ", "_")} @@fields = headers string_data = csv_data.map {|row| row.map {|cell| cell.to_s } } array_of_hashes = string_data.map {|row| Hash[*headers.zip(row).flatten] } @@results = array_of_hashes end
fields()
click to toggle source
# File lib/restivus.rb, line 48 def self.fields @@fields end
find(id)
click to toggle source
# File lib/restivus.rb, line 68 def self.find(id) where(@@pk => id.to_s).first end
pk(key="id")
click to toggle source
# File lib/restivus.rb, line 64 def self.pk(key="id") @@pk = key end
where(conditions={})
click to toggle source
# File lib/restivus.rb, line 72 def self.where(conditions={}) results = @@results.select do |result| conditions.all? { |k,v| result[k] == v } end end
Public Instance Methods
base_uri()
click to toggle source
# File lib/restivus.rb, line 87 def base_uri uri = "http://#{request.host}" if request.port uri << ":#{request.port}" end uri end
curl_req(url)
click to toggle source
Doc helpers these methods generate text for the docs pages
# File lib/restivus.rb, line 13 def curl_req(url) #`curl #{url}` RestClient.get(url) end
delete_splat(params)
click to toggle source
# File lib/restivus.rb, line 82 def delete_splat(params) %w[splat captures resource].each {|w| params.delete(w)} params end
format_curl_req(url, description="TODO", http="TODO", url_schema="TODO", div="TODO")
click to toggle source
# File lib/restivus.rb, line 30 def format_curl_req(url, description="TODO", http="TODO", url_schema="TODO", div="TODO") result = { :cmd => "$ curl #{url}", :raw_response => curl_req(url), :pretty_response => truncated_response(url), :description => description, :http_verb => http, :url_schema => url_schema, :div_id => div } result end
resource_name()
click to toggle source
# File lib/restivus.rb, line 44 def resource_name self.class.name end
truncated_response(url)
click to toggle source
# File lib/restivus.rb, line 18 def truncated_response(url) json = curl_req(url) h = JSON.parse(json) if h["results"] h["results"] = h["results"].first(3) return JSON.pretty_generate(h) else return JSON.pretty_generate(h) end end