class EdeskyClient
Constants
- BOARD_QUERY_DEFAULTS
- CLIENT_DEFAULTS
- DOC_QUERY_DEFAULTS
Public Class Methods
new(options = {})
click to toggle source
# File lib/edesky_client.rb, line 36 def initialize(options = {}) CLIENT_DEFAULTS.merge(options).each do |option, value| instance_variable_set("@#{option}", value) end end
Public Instance Methods
query_dashboards(options = {})
click to toggle source
# File lib/edesky_client.rb, line 46 def query_dashboards(options = {}) fetch('dashboards', BOARD_QUERY_DEFAULTS.merge(options)) end
query_documents(options = {})
click to toggle source
# File lib/edesky_client.rb, line 42 def query_documents(options = {}) fetch('documents', DOC_QUERY_DEFAULTS.merge(options)) end
Private Instance Methods
fetch(type, params)
click to toggle source
# File lib/edesky_client.rb, line 52 def fetch(type, params) params['api_key'] = @api_key uri = URI(URI.join(@endpoint_url, type)) uri.query = URI.encode_www_form(params) http = Net::HTTP.new(uri.host, uri.port) http.use_ssl = true request = Net::HTTP::Get.new(uri.request_uri) response = http.request(request) # TODO(aufi): raise error on non-200 HTTP code XmlSimple.xml_in(response.body, :'ForceArray' => true) end