seat_geek 0.0.1 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 147fcb561782e8869b4eb5d8f4674824a08e1438
4
- data.tar.gz: fa4bfa21069d587e2073340ea9cf5d11394e7ccf
3
+ metadata.gz: d76892bc09518351d859849e4ef7599d9a0f8858
4
+ data.tar.gz: 25f4bef33883fbcdbf7449db326cfd50a8f36968
5
5
  SHA512:
6
- metadata.gz: 3f9ef27d0a861edd086ddfddcee69ab313df06e3e9f183c5663a6ef1326a91b131ebcfd7fab8698841c1a5346c16744deb3e9b1fd720ae3256395a50aced3987
7
- data.tar.gz: 67d0754d422cbd07648f5300c48b2431a4ddcb2f51b750d47d47bdd6e46868121dc3cffe90ddbaf22b2c40e8cd4521e06dbe93a08f0936d7de4f48d3b88c7c7e
6
+ metadata.gz: 943565f885958bba1f1fe069e4829516b528caeaa57ca7b832fe94bcb1cddd54ec6d3fc525f67ca389a2fd3911c9306da7cb5224320a29832f92afca08d3d141
7
+ data.tar.gz: 4a133b1817f13a7a463dabe20d6983f8a0d2b2ea80045c4fa2477db9f2070d583ec613636e2001a2cae52dee557ebddd666c21b0b383d8a9e8b0459c72215443
@@ -1,3 +1,3 @@
1
1
  module SeatGeek
2
- VERSION = "0.0.1"
2
+ VERSION = "0.1.0"
3
3
  end
data/lib/seat_geek.rb CHANGED
@@ -1,7 +1,68 @@
1
1
  require "seat_geek/version"
2
2
 
3
3
  module SeatGeek
4
- def self.hello_world
5
- puts 'Helloe World'
4
+ SEATGEEK_BASE_URL = 'http://api.seatgeek.com/2/events'
5
+ def self.find_events(base_url: nil, month_of_the_year: nil, state: nil, attendee_count: nil, event_type: nil)
6
+ @base_url = base_url || SEATGEEK_BASE_URL
7
+ @month_of_the_year = month_of_the_year
8
+ @state = state
9
+ @attendee_count = attendee_count
10
+ @event_type = event_type
11
+
12
+ url = base_url + build_query
13
+ request = Typhoeus::Request.new(url,
14
+ method: :get,
15
+ headers: { Accept: "json" }
16
+ ).run
17
+ end
18
+
19
+ private
20
+
21
+ attr_accessor :month_of_the_year, :state, :attendee_count, :event_type, :base_url
22
+
23
+ def build_query
24
+ query = ""
25
+ if month_of_the_year
26
+ query = month_query(month_of_the_year)
27
+ end
28
+ if state
29
+ query = query + location_query(state)
30
+ end
31
+ if attendee_count
32
+ query = query + attendee_count_query(attendee_count)
33
+ end
34
+ if event_type
35
+ query = query + event_type_query(event_type)
36
+ end
37
+ query
38
+ end
39
+
40
+ # Events in April 2012
41
+ # $ curl 'http://api.seatgeek.com/2/events?datetime_utc.gte=2012-04-01&datetime_utc.lte=2012-04-30'
42
+ def month_query(year_month)
43
+ year, month = year_month.split('-')
44
+ year = year.to_i
45
+ month = month.to_i
46
+ first_day_of_month = Date.civil(year, month, 1).strftime('%F')
47
+ last_day_of_month = Date.civil(year, month, -1).strftime('%F')
48
+
49
+ "?datetime_utc.gte=#{first_day_of_month}&datetime_utc.lte=#{last_day_of_month}"
50
+ end
51
+
52
+ # Events in NY state
53
+ # $ curl 'http://api.seatgeek.com/2/events?venue.state=NY'
54
+ def location_query(location)
55
+ "&venue.state=#{location}"
56
+ end
57
+
58
+ # GET http://api.seatgeek.com/2/events?listing_count.gt=0
59
+ def attendee_count_query(count)
60
+ "&listing_count.gt=#{count}"
61
+ end
62
+
63
+ # Sporting Events
64
+ # $ curl 'http://api.seatgeek.com/2/events?taxonomies.name=sports'
65
+ def event_type_query(type)
66
+ "&taxonomies.name=#{type}"
6
67
  end
7
68
  end
Binary file
data/seat_geek.gemspec CHANGED
@@ -24,4 +24,5 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency "oj"
25
25
  spec.add_development_dependency "rspec"
26
26
  spec.add_development_dependency "pry-byebug"
27
+ spec.add_development_dependency "typhoeus"
27
28
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: seat_geek
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Moon
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: typhoeus
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  description: 'Uses the SeatGeek Platform API to data around tickets in the USA. '
84
98
  email:
85
99
  - johnmoonyy@gmail.com
@@ -99,6 +113,7 @@ files:
99
113
  - lib/seat_geek.rb
100
114
  - lib/seat_geek/version.rb
101
115
  - seat_geek-0.0.0.gem
116
+ - seat_geek-0.0.1.gem
102
117
  - seat_geek.gemspec
103
118
  homepage: https://github.com/jmoon90/seat_geek
104
119
  licenses: