Class: Meetupinator::MeetupAPI
- Inherits:
-
Object
- Object
- Meetupinator::MeetupAPI
- Defined in:
- lib/meetupinator/meetup_api.rb
Overview
This class is responsible for communicating with the meetup.com API and returning the json responses only.
Instance Attribute Summary collapse
-
#api_key ⇒ Object
readonly
Returns the value of attribute api_key.
Instance Method Summary collapse
- #get_meetup_id(group_url_name) ⇒ Object
- #get_upcoming_events(group_ids, weeks) ⇒ Object
-
#initialize(api_key = nil) ⇒ MeetupAPI
constructor
A new instance of MeetupAPI.
Constructor Details
#initialize(api_key = nil) ⇒ MeetupAPI
Returns a new instance of MeetupAPI.
10 11 12 13 14 15 |
# File 'lib/meetupinator/meetup_api.rb', line 10 def initialize(api_key = nil) @base_uri = 'api.meetup.com' @groups_endpoint = '/2/groups' @events_endpoint = '/2/events' @api_key = pick_which_api_key(api_key) end |
Instance Attribute Details
#api_key ⇒ Object (readonly)
Returns the value of attribute api_key.
8 9 10 |
# File 'lib/meetupinator/meetup_api.rb', line 8 def api_key @api_key end |
Instance Method Details
#get_meetup_id(group_url_name) ⇒ Object
17 18 19 20 21 22 |
# File 'lib/meetupinator/meetup_api.rb', line 17 def get_meetup_id(group_url_name) query_string = 'key=' + @api_key + '&group_urlname=' + group_url_name uri = URI::HTTP.build(host: @base_uri, path: @groups_endpoint, query: query_string) extract_meetup_id get_meetup_response(uri) end |
#get_upcoming_events(group_ids, weeks) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/meetupinator/meetup_api.rb', line 24 def get_upcoming_events(group_ids, weeks) query_string = 'sign=true&photo-host=public&status=upcoming&key=' + @api_key + '&group_id=' + group_ids.join(',') query_string << "&time=,#{weeks}w" if weeks uri = URI::HTTP.build(host: @base_uri, path: @events_endpoint, query: query_string) response = get_meetup_response uri get_results response end |