class Rimac::API
Constants
- BASE_URL
Attributes
api_key[RW]
Public Class Methods
new(api_key)
click to toggle source
# File lib/rimac.rb, line 13 def initialize(api_key) self.api_key = api_key end
Public Instance Methods
get(resource, options = {})
click to toggle source
# File lib/rimac.rb, line 17 def get(resource, options = {}) options ||= {} options[:limit] ||= 100 options[:page] ||= 0 options[:output] = "json_array" options[:limit] += 1 headers = options.delete(:headers) url = url_for('invoke', resource, options) response = JSON.parse(Net::HTTP.get_response(URI.parse(url)).body) original_result = response["result"].to_a if headers headers = headers.to_a else headers = original_result.shift.to_a end results = [] original_result.each do |row| result = {} headers.each_index do |i| result[headers[i].to_s.downcase.gsub(" ", "_")] = row[i] unless headers[i].nil? end results << result end response["result"] = results response end
search(query, options = {})
click to toggle source
# File lib/rimac.rb, line 55 def search(query, options = {}) options ||= {} options.delete(:query) options[:query] = query url = url_for('search', resource, options) response = JSON.parse(Net::HTTP.get_response(URI.parse(url)).body) end
Private Instance Methods
url_for(method, resource, options = {})
click to toggle source
# File lib/rimac.rb, line 67 def url_for(method, resource, options = {}) raise "API Key is required" if self.api_key.nil? url = BASE_URL + method + "/" + resource + "?auth_key=#{self.api_key}" options.each do |key, value| url = url + "&#{key}=#{value}" end url end