seat_geek 0.10.4 → 0.10.5

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5d079c8285f6c2bea945a0016c9b4a9c71fd5dbc
4
- data.tar.gz: 7a4e4413f7dd48fe2e21b87dedc3c84b0c334fea
3
+ metadata.gz: fd7c9487bb6d6881ac7fde52a8e4dc2b4bcd0016
4
+ data.tar.gz: 0f0742be1cc00024f17366e055710c34ba35f210
5
5
  SHA512:
6
- metadata.gz: 072405cb06dadfc68cb9bd7f4fb499e337fb9fdde3fa7dffe2455cf4a0ad8868e8926a0371f61fa89b0ed1b1c00762aab13e842f79366e74412f0749973d4253
7
- data.tar.gz: dc5d18e8bd9f920dea17030ee4238f0ff2433675c311a28650634657ed08394bcf2adbedcbb32979f5453b84f4b18c139aad26c4bc4efec38baf04306c99ee9f
6
+ metadata.gz: 9d86fd4f5db4fc276a1446713929507924485065a106e7cdb35b194d37956c986daad5287b4febccf6fc69a9683106efcd53ef60f410000c804078f4bad727aa
7
+ data.tar.gz: a4660b63e91fb8dea4651f42ff34ab6580bd12415d9f6c5079c3d02a7f3f1af10e836e0be1eb6eaa21822e46ff4e30b04cc72598fab448375810aad156f08427
data/README.md CHANGED
@@ -24,7 +24,8 @@ SeatGeek.get_events()
24
24
  Accepts 1 parameter
25
25
 
26
26
  params = { travel_dates: {arrive: '2016-03-15', depart: '2016-03-19'},
27
- state: 'ny',
27
+ state: 'ny', #either state or city
28
+ city: 'new-york-city', #either state or city
28
29
  attendee_count: num,
29
30
  event_type: 'taxonomie',
30
31
  seat_geek_partner_id: 1234,
@@ -5,56 +5,23 @@ module SeatGeek
5
5
  if !base_url.match(/\?/)
6
6
  query = "?"
7
7
  end
8
- if options[:travel_dates]
9
- query = query + travel_dates_query(options[:travel_dates])
10
- end
11
- if options[:state]
12
- query = query + location_query(state: options[:state])
13
- end
14
- if options[:city]
15
- query = query + location_query(city: options[:city])
16
- end
17
- if options[:attendee_count]
18
- query = query + attendee_count_query(options[:attendee_count])
19
- end
20
- if options[:event_type]
21
- query = query + taxonomy_query(options[:event_type])
22
- end
23
- if options[:taxonomies]
24
- query = query + taxonomies
25
- end
26
- base_url + query
27
- end
28
8
 
29
- private
30
-
31
- # Events in travel date
32
- # $ curl 'http://api.seatgeek.com/2/events?datetime_utc.gte=2012-04-01&datetime_utc.lte=2012-04-30'
33
- def self.travel_dates_query(travel_dates)
34
- "&datetime_utc.gte=#{travel_dates[:arrive]}&datetime_utc.lte=#{travel_dates[:depart]}"
35
- end
36
-
37
- # Events in NY state
38
- # $ curl 'http://api.seatgeek.com/2/events?venue.state=NY'
39
- # $ curl 'http://api.seatgeek.com/2/events?venue.city=new-york'
40
- def self.location_query(state: nil, city: nil)
41
- if state
42
- "&venue.state=#{state}"
43
- elsif city
44
- "&venue.city=#{city}"
9
+ # 'http://api.seatgeek.com/2/events?datetime_utc.gte=2012-04-01&datetime_utc.lte=2012-04-30'
10
+ # 'http://api.seatgeek.com/2/events?venue.state=NY'
11
+ # 'http://api.seatgeek.com/2/events?venue.city=new-york'
12
+ # http://api.seatgeek.com/2/events?listing_count.gt=0
13
+ # 'http://api.seatgeek.com/2/events?taxonomies.name=sports'
14
+ query_klass = {travel_dates: SeatGeek::Query::TravelDates,
15
+ attendee_count: SeatGeek::Query::AttendeeCount,
16
+ event_type: SeatGeek::Query::EventType,
17
+ state: SeatGeek::Query::State,
18
+ city: SeatGeek::Query::City,
19
+ }
20
+ options.keys.each do |name|
21
+ query = query + query_klass[name].new(options[name]).query if query_klass.keys.include?(name)
45
22
  end
46
- end
47
23
 
48
- # GET http://api.seatgeek.com/2/events?listing_count.gt=0
49
- def self.attendee_count_query(count)
50
- "&listing_count.gt=#{count}"
51
- end
52
-
53
- # Sporting Events
54
- # $ curl 'http://api.seatgeek.com/2/events?taxonomies.name=sports'
55
- def self.taxonomy_query(type)
56
- "&taxonomies.name=#{type}"
24
+ base_url + query
57
25
  end
58
-
59
26
  end
60
27
  end
@@ -0,0 +1,13 @@
1
+ module SeatGeek
2
+ module Query
3
+ class AttendeeCount
4
+ def initialize(count)
5
+ @count = count
6
+ end
7
+
8
+ def query
9
+ "&listing_count.gt=#{@count}"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module SeatGeek
2
+ module Query
3
+ class City
4
+ def initialize(city)
5
+ @city = city
6
+ end
7
+
8
+ def query
9
+ "&venue.city=#{@city}"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module SeatGeek
2
+ module Query
3
+ class EventType
4
+ def initialize(event_type)
5
+ @event_type = event_type
6
+ end
7
+
8
+ def query
9
+ "&taxonomies.name=#{@event_type}"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,13 @@
1
+ module SeatGeek
2
+ module Query
3
+ class State
4
+ def initialize(state)
5
+ @state = state
6
+ end
7
+
8
+ def query
9
+ "&venue.state=#{@state}"
10
+ end
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,14 @@
1
+ module SeatGeek
2
+ module Query
3
+ class TravelDates
4
+ def initialize(travel_dates)
5
+ @arrive = travel_dates.fetch(:arrive) { return }
6
+ @depart = travel_dates.fetch(:depart) { return }
7
+ end
8
+
9
+ def query
10
+ "&datetime_utc.gte=#{@arrive}&datetime_utc.lte=#{@depart}"
11
+ end
12
+ end
13
+ end
14
+ end
@@ -1,3 +1,3 @@
1
1
  module SeatGeek
2
- VERSION = "0.10.4"
2
+ VERSION = "0.10.5"
3
3
  end
data/lib/seat_geek.rb CHANGED
@@ -2,7 +2,14 @@ require 'typhoeus'
2
2
  require 'oj'
3
3
 
4
4
  require "seat_geek/version"
5
+
5
6
  require "seat_geek/build_query"
7
+ require "seat_geek/query/travel_dates"
8
+ require "seat_geek/query/attendee_count"
9
+ require "seat_geek/query/event_type"
10
+ require "seat_geek/query/state"
11
+ require "seat_geek/query/city"
12
+
6
13
  require "seat_geek/taxonomies/tree"
7
14
  require "seat_geek/taxonomies/sports"
8
15
  require "seat_geek/taxonomies/concert"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seat_geek
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.4
4
+ version: 0.10.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Moon
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-02-06 00:00:00.000000000 Z
11
+ date: 2016-02-07 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -144,6 +144,11 @@ files:
144
144
  - lib/seat_geek/Taxonomies/theater.rb
145
145
  - lib/seat_geek/Taxonomies/tree.rb
146
146
  - lib/seat_geek/build_query.rb
147
+ - lib/seat_geek/query/attendee_count.rb
148
+ - lib/seat_geek/query/city.rb
149
+ - lib/seat_geek/query/event_type.rb
150
+ - lib/seat_geek/query/state.rb
151
+ - lib/seat_geek/query/travel_dates.rb
147
152
  - lib/seat_geek/version.rb
148
153
  - seat_geek.gemspec
149
154
  homepage: https://github.com/jmoon90/seat_geek