Class: Planvine::PlanvineAPI
- Inherits:
-
Object
- Object
- Planvine::PlanvineAPI
- Includes:
- HTTParty
- Defined in:
- lib/planvine/planvine_api.rb
Instance Method Summary collapse
- #categories ⇒ Object
- #category_events(id) ⇒ Object
- #event(id) ⇒ Object
- #events ⇒ Object
-
#initialize(api_key) ⇒ PlanvineAPI
constructor
A new instance of PlanvineAPI.
- #venue(id) ⇒ Object
Constructor Details
#initialize(api_key) ⇒ PlanvineAPI
Returns a new instance of PlanvineAPI.
7 8 9 |
# File 'lib/planvine/planvine_api.rb', line 7 def initialize(api_key) @api_key = api_key end |
Instance Method Details
#categories ⇒ Object
17 18 19 20 21 22 |
# File 'lib/planvine/planvine_api.rb', line 17 def categories categories = self.class.get("/category?api_key=#{@api_key}") categories["data"].map do |category| CategoriesBuilder.build(category, self) end end |
#category_events(id) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/planvine/planvine_api.rb', line 24 def category_events(id) begin number_of_pages = self.class.get("/category/#{id}/events?api_key=#{@api_key}")["_metadata"]["total_pages"] rescue number_of_pages = 1 end events = [self.class.get("/category/#{id}/events?api_key=#{@api_key}")["data"]] return events if number_of_pages == 1 self.class.get("/category/#{id}/events?api_key=#{@api_key}")["_metadata"]["total_pages"].times do |i| next if (i+1) == 1 page = self.class.get("/category/#{id}/events?api_key=#{@api_key}&page=#{i + 1}")["data"] events << page end events end |
#event(id) ⇒ Object
42 43 44 |
# File 'lib/planvine/planvine_api.rb', line 42 def event(id) self.class.get("/event/#{id}?api_key=#{@api_key}")["data"] end |
#events ⇒ Object
11 12 13 14 15 |
# File 'lib/planvine/planvine_api.rb', line 11 def events self.class.get("/event?api_key=#{@api_key}")["data"].map do |event| EventsBuilder.build(event) end end |
#venue(id) ⇒ Object
46 47 48 |
# File 'lib/planvine/planvine_api.rb', line 46 def venue(id) Venue.new(self.class.get("/venue/#{id}?api_key=#{@api_key}")["data"]) end |