module Foursquare::Merchant::Requests
Constants
- API
- OAUTH
Public Instance Methods
get(path, params)
click to toggle source
# File lib/foursquare/requests.rb, line 8 def get(path, params) request = self.class.get(path, {:query => camelize(params).merge(auth_params)}) handle_response(request) end
post(path, params)
click to toggle source
# File lib/foursquare/requests.rb, line 13 def post(path, params) request = self.class.post(path, {:body => camelize(params).merge(auth_params)}) handle_response(request) end
Private Instance Methods
auth_params()
click to toggle source
# File lib/foursquare/requests.rb, line 28 def auth_params if @consumer.oauth_token {:oauth_token => @consumer.oauth_token } else {:client_id => @consumer.client_id, :client_secret => @consumer.client_secret } end end
camel_case(string, capital=true)
click to toggle source
# File lib/foursquare/requests.rb, line 19 def camel_case(string, capital=true) elem = capital == true ? string.capitalize : string elem.gsub(/(_[a-z])/) { |match| match[1..1].upcase } end
camelize(params)
click to toggle source
# File lib/foursquare/requests.rb, line 24 def camelize(params) params.inject({}) { |o, (k, v)| o[camel_case(k.to_s, false)] = v; o} end
handle_response(request)
click to toggle source
# File lib/foursquare/requests.rb, line 36 def handle_response(request) response = request.parsed_response meta = response['meta'] if meta['code'] != 200 type, message = camel_case(meta['errorType']), meta['errorDetail'] raise Merchant::Errors.new(type, message) end response['response'] end