seat_geek 0.7.0 → 0.8.1
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 +4 -4
- data/.byebug_history +9 -0
- data/README.md +3 -7
- data/lib/seat_geek/Taxonomies/concert.rb +0 -4
- data/lib/seat_geek/Taxonomies/sports.rb +0 -4
- data/lib/seat_geek/Taxonomies/theater.rb +0 -4
- data/lib/seat_geek/Taxonomies/tree.rb +7 -9
- data/lib/seat_geek/build_query.rb +3 -0
- data/lib/seat_geek/taxonomy.rb +0 -62
- data/lib/seat_geek/version.rb +1 -1
- data/lib/seat_geek.rb +12 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a6de3a9e2781e940114bf3bbdb7088450e7e9e7f
|
4
|
+
data.tar.gz: 65020b1a8224143e1d9250981f2b6432be6b56ca
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe9843f0edaa856fee3e063b505128074bc28da662c86c46bfda6fbf257772e125aaa05199d8791555bab2f9cc27b8fa34c27d8dac6330c80cc784d62308fb63
|
7
|
+
data.tar.gz: 2e8edc504a62268396bd7527fb7d3c64a01ca51f40e64057523ddb21ed1072389045be5100c8c66f7f06123a30428b08e734b8b265165432de276e2fefa145d6
|
data/.byebug_history
ADDED
data/README.md
CHANGED
@@ -20,7 +20,7 @@ Or install it yourself as:
|
|
20
20
|
Taxonomy
|
21
21
|
|
22
22
|
```ruby
|
23
|
-
taxonomy = SeatGeek
|
23
|
+
taxonomy = SeatGeek.get_taxonomies
|
24
24
|
|
25
25
|
taxonomy.sports
|
26
26
|
# Events that contains parent_id of 1000000
|
@@ -34,16 +34,12 @@ taxonomy.concert
|
|
34
34
|
|
35
35
|
taxonomy.theater
|
36
36
|
# Events that contains parent_id of 3000000
|
37
|
-
#=> <SeatGeek::Taxonomies::
|
37
|
+
#=> <SeatGeek::Taxonomies::Theater: @parent_object={ ... },
|
38
38
|
@sub_taxonomies= [{"parent_id"=>3000000, "id"=>3020000, "name"=>"cirque_du_soleil"} ..]
|
39
39
|
|
40
|
-
|
40
|
+
taxonomy
|
41
41
|
# => GET http://api.seatgeek.com/2/taxonomies
|
42
42
|
#=> contains all of the above
|
43
|
-
|
44
|
-
all[:sports] or
|
45
|
-
all[:concert] or
|
46
|
-
all[:theater]
|
47
43
|
```
|
48
44
|
|
49
45
|
Events
|
@@ -1,12 +1,16 @@
|
|
1
1
|
module SeatGeek
|
2
2
|
module Taxonomies
|
3
3
|
class Tree
|
4
|
-
def initialize(parent_ids
|
4
|
+
def initialize(parent_ids:, taxonomies:)
|
5
5
|
@parent_ids = parent_ids
|
6
6
|
@taxonomies = taxonomies
|
7
7
|
build_tree
|
8
8
|
end
|
9
9
|
|
10
|
+
def all
|
11
|
+
finished_tree
|
12
|
+
end
|
13
|
+
|
10
14
|
def sports
|
11
15
|
finished_tree[:sports]
|
12
16
|
end
|
@@ -31,14 +35,8 @@ module SeatGeek
|
|
31
35
|
taxonomy['parent_id'] == parent_id
|
32
36
|
end
|
33
37
|
|
34
|
-
|
35
|
-
|
36
|
-
elsif parent_object.fetch('name') == 'concert'
|
37
|
-
klass = SeatGeek::Taxonomies::Concert
|
38
|
-
elsif parent_object.fetch('name') == 'theater'
|
39
|
-
klass = SeatGeek::Taxonomies::Theater
|
40
|
-
end
|
41
|
-
finished_tree[parent_object['name'].to_sym] = klass.new(parent_object: parent_object, sub_taxonomies: sub_taxonomies)
|
38
|
+
klass = { 'sports' => SeatGeek::Taxonomies::Sports, 'concert' => SeatGeek::Taxonomies::Concert, 'theater' => SeatGeek::Taxonomies::Theater }
|
39
|
+
finished_tree[parent_object['name'].to_sym] = klass[parent_object['name']].new(parent_object: parent_object, sub_taxonomies: sub_taxonomies)
|
42
40
|
end
|
43
41
|
end
|
44
42
|
|
data/lib/seat_geek/taxonomy.rb
CHANGED
@@ -1,62 +0,0 @@
|
|
1
|
-
module SeatGeek
|
2
|
-
class Taxonomy
|
3
|
-
PUBLIC_API_URL = 'https://api.seatgeek.com/2/taxonomies'
|
4
|
-
SPORTS_ID = 1000000
|
5
|
-
CONCERT_ID = 2000000
|
6
|
-
THEATRE_ID = 3000000
|
7
|
-
|
8
|
-
def initialize
|
9
|
-
@base_url = PUBLIC_API_URL
|
10
|
-
@taxonomies = parse_response(typhoeus_request.body)
|
11
|
-
end
|
12
|
-
|
13
|
-
def all
|
14
|
-
taxonomies
|
15
|
-
end
|
16
|
-
|
17
|
-
def sports
|
18
|
-
taxonomies_tree.sports
|
19
|
-
end
|
20
|
-
|
21
|
-
def concert
|
22
|
-
taxonomies_tree.concert
|
23
|
-
end
|
24
|
-
|
25
|
-
def theater
|
26
|
-
taxonomies_tree.theater
|
27
|
-
end
|
28
|
-
|
29
|
-
private
|
30
|
-
|
31
|
-
attr_accessor :base_url, :taxonomies
|
32
|
-
|
33
|
-
def taxonomies_tree
|
34
|
-
@taxonomies_tree ||= SeatGeek::Taxonomies::Tree.new([SPORTS_ID, CONCERT_ID, THEATRE_ID], taxonomies['taxonomies'])
|
35
|
-
end
|
36
|
-
|
37
|
-
def get_events(event_ids)
|
38
|
-
events = []
|
39
|
-
taxonomies = SeatGeek::Taxonomy.new.all['taxonomies']
|
40
|
-
|
41
|
-
event_ids.each do |x|
|
42
|
-
events << taxonomies[x]
|
43
|
-
end
|
44
|
-
events
|
45
|
-
end
|
46
|
-
|
47
|
-
def build_url
|
48
|
-
BuildQuery.build({}, base_url)
|
49
|
-
end
|
50
|
-
|
51
|
-
def typhoeus_request
|
52
|
-
request = Typhoeus::Request.new(build_url,
|
53
|
-
method: :get,
|
54
|
-
headers: { Accept: "json" }
|
55
|
-
).run
|
56
|
-
end
|
57
|
-
|
58
|
-
def parse_response(json_string)
|
59
|
-
Oj.load(json_string)
|
60
|
-
end
|
61
|
-
end
|
62
|
-
end
|
data/lib/seat_geek/version.rb
CHANGED
data/lib/seat_geek.rb
CHANGED
@@ -3,7 +3,6 @@ require 'oj'
|
|
3
3
|
|
4
4
|
require "seat_geek/version"
|
5
5
|
require "seat_geek/build_query"
|
6
|
-
require "seat_geek/taxonomy"
|
7
6
|
require "seat_geek/taxonomies/tree"
|
8
7
|
require "seat_geek/taxonomies/sports"
|
9
8
|
require "seat_geek/taxonomies/concert"
|
@@ -11,6 +10,10 @@ require "seat_geek/taxonomies/theater"
|
|
11
10
|
|
12
11
|
|
13
12
|
module SeatGeek
|
13
|
+
SPORTS_ID = 1000000
|
14
|
+
CONCERT_ID = 2000000
|
15
|
+
THEATRE_ID = 3000000
|
16
|
+
|
14
17
|
extend self
|
15
18
|
PUBLIC_API_URL = 'https://api.seatgeek.com/2/'
|
16
19
|
|
@@ -24,6 +27,14 @@ module SeatGeek
|
|
24
27
|
parse_response(typhoeus_request.body)
|
25
28
|
end
|
26
29
|
|
30
|
+
def self.get_taxonomies
|
31
|
+
@options = {}
|
32
|
+
@base_url = 'https://api.seatgeek.com/2/taxonomies'
|
33
|
+
taxonomies = parse_response(typhoeus_request.body)['taxonomies']
|
34
|
+
|
35
|
+
SeatGeek::Taxonomies::Tree.new(parent_ids: [SPORTS_ID, CONCERT_ID, THEATRE_ID], taxonomies: taxonomies)
|
36
|
+
end
|
37
|
+
|
27
38
|
#TODO Need to think this through
|
28
39
|
# not sure how to get recommendations or what we should get recommendations
|
29
40
|
# for
|
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.
|
4
|
+
version: 0.8.1
|
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-01-
|
11
|
+
date: 2016-01-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -129,6 +129,7 @@ executables: []
|
|
129
129
|
extensions: []
|
130
130
|
extra_rdoc_files: []
|
131
131
|
files:
|
132
|
+
- ".byebug_history"
|
132
133
|
- ".gitignore"
|
133
134
|
- ".travis.yml"
|
134
135
|
- CODE_OF_CONDUCT.md
|