Class: FoursquareClient
- Inherits:
-
Object
- Object
- FoursquareClient
- Defined in:
- lib/generators/foursquare/authentication/templates/models/foursquare_client.rb
Overview
Instance Attribute Summary collapse
-
#access_token ⇒ Object
Returns the value of attribute access_token.
Class Method Summary collapse
Instance Method Summary collapse
- #create_checkin_reply(checkin_id, options = {}) ⇒ Object
- #get(path, params = {}) ⇒ Object
-
#initialize(access_token) ⇒ FoursquareClient
constructor
A new instance of FoursquareClient.
- #oauth2_token ⇒ Object
- #post(path, params = {}) ⇒ Object
- #user_id ⇒ Object
- #user_info ⇒ Object
- #user_name ⇒ Object
Constructor Details
#initialize(access_token) ⇒ FoursquareClient
Returns a new instance of FoursquareClient.
5 6 7 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 5 def initialize(access_token) @access_token = access_token end |
Instance Attribute Details
#access_token ⇒ Object
Returns the value of attribute access_token.
3 4 5 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 3 def access_token @access_token end |
Class Method Details
.endpoint ⇒ Object
38 39 40 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 38 def endpoint 'https://api.foursquare.com/v2/' end |
.oauth2_client ⇒ Object
42 43 44 45 46 47 48 49 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 42 def oauth2_client = { authorize_url: 'https://foursquare.com/oauth2/authenticate', token_url: 'https://foursquare.com/oauth2/access_token', raise_errors: true, } OAuth2::Client.new("<%= settings['client_id'] %>", "<%= settings['client_secret'] %>", ) end |
Instance Method Details
#create_checkin_reply(checkin_id, options = {}) ⇒ Object
33 34 35 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 33 def create_checkin_reply(checkin_id, = {}) post("checkins/#{checkin_id}/reply", params: ) end |
#get(path, params = {}) ⇒ Object
25 26 27 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 25 def get(path, params = {}) oauth2_token.get(self.class.endpoint + path, params) end |
#oauth2_token ⇒ Object
21 22 23 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 21 def oauth2_token @oauth2_token ||= OAuth2::AccessToken.from_hash(self.class.oauth2_client, {access_token: access_token}.merge(mode: :query, param_name: 'oauth_token')) end |
#post(path, params = {}) ⇒ Object
29 30 31 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 29 def post(path, params = {}) oauth2_token.post(self.class.endpoint + path, params) end |
#user_id ⇒ Object
13 14 15 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 13 def user_id user_info['id'] end |
#user_info ⇒ Object
9 10 11 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 9 def user_info @user_info ||= get('users/self').parsed['response']['user'] end |
#user_name ⇒ Object
17 18 19 |
# File 'lib/generators/foursquare/authentication/templates/models/foursquare_client.rb', line 17 def user_name [user_info['firstName'], user_info['lastName']].join(' ') end |