class FoursquareVenues::Base
Constants
- API
Public Class Methods
new(*args)
click to toggle source
# File lib/foursquare_venues/base.rb, line 5 def initialize(*args) case args.size when 2 @client_id, @client_secret = args else raise ArgumentError, "You need to pass a client_id and client_secret" end end
Public Instance Methods
get(path, params={})
click to toggle source
# File lib/foursquare_venues/base.rb, line 18 def get(path, params={}) params = camelize(params) FoursquareVenues.log("GET #{API + path}") FoursquareVenues.log("PARAMS: #{params.inspect}") params.merge!(:client_id => @client_id, :client_secret => @client_secret) response = JSON.parse(Typhoeus::Request.get(API + path, :params => params).body) FoursquareVenues.log(response.inspect) error(response) || response["response"] end
venues()
click to toggle source
# File lib/foursquare_venues/base.rb, line 14 def venues FoursquareVenues::VenueProxy.new(self) end
Private Instance Methods
camelize(params)
click to toggle source
# File lib/foursquare_venues/base.rb, line 30 def camelize(params) params.inject({}) { |o, (k, v)| o[k.to_s.gsub(/(_[a-z])/) { |m| m[1..1].upcase }] = v o } end
error(response)
click to toggle source
# File lib/foursquare_venues/base.rb, line 37 def error(response) case response["meta"]["errorType"] when nil # It's all good. when "deprecated" FoursquareVenues.log(FoursquareVenues::ERRORS[response['meta']['errorType']]) nil else error_type = response['meta']['errorType'] case error_type when "invalid_auth" raise FoursquareVenues::InvalidAuth.new(FoursquareVenues::ERRORS[error_type]) when "server_error" raise FoursquareVenues::ServiceUnavailable.new(FoursquareVenues::ERRORS[error_type]) else raise FoursquareVenues::Error.new(FoursquareVenues::ERRORS[error_type]) end end end