class DaFace::Api::Adapters::ExconAdapter
Public Instance Methods
connection()
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 5 def connection Excon.new self.api_path end
extract_rate_limit_info(headers)
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 38 def extract_rate_limit_info headers if headers.select{|header| header[0] == 'x'}.any? { :limit => headers['x-ratelimit-limit'], :remaining => headers['x-ratelimit-remaining'] } elsif headers.select{|header| header[0] == 'X'}.any? { :limit => headers['X-RateLimit-Limit'], :remaining => headers['X-RateLimit-Remaining'] } else { :limit => nil, :remaining => nil } end end
get(path, params={})
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 9 def get path, params={} response = connection.get :path => "#{path}#{url_params(params)}", :headers => get_headers handle_response(response) end
handle_response(response)
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 32 def handle_response response rate_limit_info = extract_rate_limit_info(response.headers) set_rate_limit_status(rate_limit_info[:limit], rate_limit_info[:remaining]) return parse_body(response.body) end
parse_body(body)
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 24 def parse_body body if body.empty? {} else JSON.parse(body) end end
post(path, payload)
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 14 def post path, payload response = connection.post :path => path, :body => encode_form(payload), :headers => post_headers handle_response(response) end
put(path, payload)
click to toggle source
# File lib/da_face/api/adapters/excon_adapter.rb, line 19 def put path, payload response = connection.put :path => "#{path}", :body => encode_form(payload), :headers => post_headers handle_response(response) end