ticketmaster-sdk 0.0.02

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 ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 702dea4aeaae532fbe56e53ca73b53ee0f28237f
4
+ data.tar.gz: 5cd1d6fbd2be9248c838a9ce8d99b5d6c6f0a76e
5
+ SHA512:
6
+ metadata.gz: 6423c53da8a82f9bd8cdd402638ebd1a9c17589b66700bfe4c921de3a989da274707bf26eb5b0bea5e904d8a75729dd410d6c3f9bbf9977d53db8eba951ee05a
7
+ data.tar.gz: 19b0dff69d9cf52bc9ae82a58bc80e49b65298ca5c79e485337e2d962ee73008bdf380d3b5afe8d65b2ac4cbe11cb99b18802a244dccef2e2e59c6d06d7d2abd
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in benzinator.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,40 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ ticketmaster-sdk (0.0.0)
5
+ faraday
6
+ json
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ addressable (2.4.0)
12
+ crack (0.4.3)
13
+ safe_yaml (~> 1.0.0)
14
+ faraday (0.9.2)
15
+ multipart-post (>= 1.2, < 3)
16
+ hashdiff (0.3.0)
17
+ json (1.8.3)
18
+ minitest (5.9.0)
19
+ multipart-post (2.0.0)
20
+ rake (11.2.2)
21
+ safe_yaml (1.0.4)
22
+ vcr (3.0.3)
23
+ webmock (2.0.3)
24
+ addressable (>= 2.3.6)
25
+ crack (>= 0.3.2)
26
+ hashdiff
27
+
28
+ PLATFORMS
29
+ ruby
30
+
31
+ DEPENDENCIES
32
+ bundler (~> 1.6)
33
+ minitest
34
+ rake (~> 11.2.2)
35
+ ticketmaster-sdk!
36
+ vcr
37
+ webmock
38
+
39
+ BUNDLED WITH
40
+ 1.11.2
data/README.md ADDED
@@ -0,0 +1,237 @@
1
+ [![Build Status](https://travis-ci.org/ticketmaster-api/sdk-ruby.svg?branch=master)](https://travis-ci.org/ticketmaster-api/sdk-ruby)
2
+
3
+ Ruby SDK for the Ticketmaster Open Platform (http://developer.ticketmaster.com/).
4
+
5
+ Wraps the Ticketmaster API in easy to access functions.
6
+
7
+ #### WIP Currently Covers:
8
+ 1. **Discovery**
9
+ 1. Search Events
10
+ 2. Search Attractions
11
+ 3. Search Classifications
12
+ 4. Search Venues
13
+ 5. Get Events
14
+ 6. Get Event's Images
15
+ 7. Get Attractions
16
+ 8. Get Classification
17
+ 9. Get Venue
18
+
19
+ #### Methods:
20
+ For a list of parameters, check http://developer.ticketmaster.com/
21
+
22
+ | Discovery Methods | Required |
23
+ | ---------------------- |:-------------:|
24
+ | search_events | |
25
+ | get_event | id |
26
+ | get_event_images | id |
27
+ | search_attractions | |
28
+ | get_attraction | id |
29
+ | search_classifications | |
30
+ | get_classification | id |
31
+ | search_venues | |
32
+ | get_venue | id |
33
+
34
+ Pass optional params to the call via options.params:
35
+ ```
36
+ require 'ticketmaster'
37
+
38
+ params = {page: 5, size: 10, source: 'ticketmaster'}
39
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
40
+ response = client.search_events(params: params)
41
+ events = response.results
42
+ ```
43
+
44
+ ##### Search Events(options={})
45
+ ```
46
+ require 'ticketmaster'
47
+
48
+ params = {page: 5, size: 10, source: 'ticketmaster'}
49
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
50
+ response = client.search_events(params: params)
51
+ events = response.results
52
+ ```
53
+
54
+ ##### Get Event (id, options={})
55
+ ```
56
+ require 'ticketmaster'
57
+
58
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
59
+ response = client.get_event('ID OF EVENT')
60
+ events = response.results
61
+ ```
62
+
63
+ ##### Get Event Images (id, options={})
64
+ ```
65
+ require 'ticketmaster'
66
+
67
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
68
+ response = client.get_event_images('ID OF EVENT')
69
+ events = response.results
70
+ ```
71
+
72
+ ##### Search Attractions (options={})
73
+ ```
74
+ require 'ticketmaster'
75
+
76
+ params = {page: 5, size: 10, source: 'ticketmaster'}
77
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
78
+ response = client.search_attractions(params: params)
79
+ events = response.results
80
+ ```
81
+
82
+ ##### Get Attraction(id, options={})
83
+ ```
84
+ require 'ticketmaster'
85
+
86
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
87
+ response = client.get_attraction('ID OF ATTRACTION')
88
+ events = response.results
89
+ ```
90
+
91
+ ##### Search Classifications (options={})
92
+ ```
93
+ require 'ticketmaster'
94
+
95
+ params = {page: 5, size: 10, source: 'ticketmaster'}
96
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
97
+ response = client.search_classifications(params: params)
98
+ events = response.results
99
+ ```
100
+
101
+ ##### Get Classification (id, options={})
102
+ ```
103
+ require 'ticketmaster'
104
+
105
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
106
+ response = client.get_classification('ID OF CLASSIFICATION')
107
+ events = response.results
108
+ ```
109
+
110
+ ##### Search Venues (options={})
111
+ ```
112
+ require 'ticketmaster'
113
+
114
+ params = {page: 5, size: 10, source: 'ticketmaster'}
115
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
116
+ response = client.search_venues(params: params)
117
+ events = response.results
118
+ ```
119
+
120
+ ##### Get Venue(id, options={})
121
+ ```
122
+ require 'ticketmaster'
123
+
124
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
125
+ response = client.get_venue('ID OF VENUE')
126
+ events = response.results
127
+ ```
128
+
129
+ #### Objects:
130
+
131
+ ##### Search Results
132
+ Methods:
133
+ * results
134
+ * current_page
135
+ * total_pages
136
+ * next_page
137
+ * previous_page
138
+ * next_result
139
+ * previous_result
140
+ * reload
141
+
142
+ ##### Event
143
+ Methods:
144
+ * id
145
+ * name
146
+ * description
147
+ * embedded
148
+ * dates
149
+ * start
150
+ * end
151
+ * timezone
152
+ * images
153
+ * get_images
154
+ * classifications
155
+ * attractions
156
+ * venues
157
+ * reload
158
+
159
+ ##### Venue
160
+ Methods:
161
+ * id
162
+ * name
163
+ * address
164
+ * state
165
+ * city
166
+ * country
167
+ * country_code
168
+ * location
169
+ * timezone
170
+ * postal_code
171
+ * url
172
+ * reload
173
+
174
+ ##### Image
175
+ Methods:
176
+ * url
177
+ * ratio
178
+ * width
179
+ * height
180
+ * is_fallback?
181
+
182
+ ##### Classification
183
+ Methods:
184
+ * id
185
+ * name
186
+ * reload
187
+ * genres
188
+ * subgenres
189
+ * type
190
+
191
+ ##### Attraction
192
+ Methods:
193
+ * id
194
+ * name
195
+ * type
196
+ * url
197
+ * locale
198
+ * images
199
+ * classifications
200
+ * reload
201
+
202
+
203
+ #### Examples:
204
+ ```
205
+ require 'ticketmaster'
206
+
207
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
208
+ response = client.search_events
209
+ event = response.results.first
210
+ event.get_images
211
+ ```
212
+
213
+ ```
214
+ require 'ticketmaster'
215
+
216
+ params = {page: 5, size: 10, source: 'ticketmaster'}
217
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
218
+ response = client.search_events(params: params)
219
+ events = response.results
220
+ ```
221
+
222
+ ```
223
+ require 'ticketmaster'
224
+
225
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
226
+ response = client.search_venues
227
+ venue = response.results.first
228
+ venue.address
229
+ ```
230
+
231
+ ```
232
+ require 'ticketmaster'
233
+
234
+ client = Ticketmaster.client(apikey: 'YOUR API KEY')
235
+ response = client.search_events
236
+ next = response.next_result
237
+ ```
data/Rakefile ADDED
@@ -0,0 +1,10 @@
1
+ require 'rake/testtask'
2
+
3
+ Rake::TestTask.new do |t|
4
+ t.libs.push 'test'
5
+ t.pattern = 'test/**/*_test.rb'
6
+ t.warning = true
7
+ t.verbose = true
8
+ end
9
+
10
+ task :default => :test
@@ -0,0 +1,15 @@
1
+ require_relative 'ticketmaster/client'
2
+ require_relative 'ticketmaster/request'
3
+ require_relative 'ticketmaster/result'
4
+ require_relative 'ticketmaster/results/search'
5
+ require_relative 'ticketmaster/results/event'
6
+ require_relative 'ticketmaster/results/image'
7
+ require_relative 'ticketmaster/results/venue'
8
+ require_relative 'ticketmaster/results/classification'
9
+ require_relative 'ticketmaster/results/attraction'
10
+
11
+ module Ticketmaster
12
+ def self.client(options={})
13
+ Ticketmaster::Client.new(options)
14
+ end
15
+ end
@@ -0,0 +1,12 @@
1
+ module Ticketmaster
2
+ class Client
3
+ require_relative 'clients/discovery'
4
+ include Ticketmaster::Client::Discovery
5
+
6
+ attr_accessor :apikey
7
+
8
+ def initialize(options={})
9
+ self.apikey = options[:apikey]
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,81 @@
1
+ module Ticketmaster
2
+ class Client
3
+ module Discovery
4
+ def search_events(options={})
5
+ options[:version] ||= 'v2'
6
+ options[:params] ||= {}
7
+
8
+ request = Request.new("discovery/#{options[:version]}/events", options[:params], self)
9
+ response = request.get
10
+ Result.search(response, request, 'events')
11
+ end
12
+
13
+ def get_event(id, options={})
14
+ options[:version] ||= 'v2'
15
+
16
+ request = Request.new("discovery/#{options[:version]}/events/#{id}", {}, self)
17
+ response = request.get
18
+ Result.create(response, request, 'Ticketmaster::Event')
19
+ end
20
+
21
+ def get_event_images(id, options={})
22
+ options[:version] ||= 'v2'
23
+
24
+ request = Request.new("discovery/#{options[:version]}/events/#{id}/images", {}, self)
25
+ response = request.get
26
+ Result.array(response['images'], request, 'Ticketmaster::Image')
27
+ end
28
+
29
+ def search_attractions(options={})
30
+ options[:version] ||= 'v2'
31
+ options[:params] ||= {}
32
+
33
+ request = Request.new("discovery/#{options[:version]}/attractions", options[:params], self)
34
+ response = request.get
35
+ Result.search(response, request, 'attractions')
36
+ end
37
+
38
+ def get_attraction(id, options={})
39
+ options[:version] ||= 'v2'
40
+
41
+ request = Request.new("discovery/#{options[:version]}/attractions/#{id}", {}, self)
42
+ response = request.get
43
+ Result.create(response, request, 'Ticketmaster::Attraction')
44
+ end
45
+
46
+ def search_classifications(options={})
47
+ options[:version] ||= 'v2'
48
+ options[:params] ||= {}
49
+
50
+ request = Request.new("discovery/#{options[:version]}/classifications", options[:params], self)
51
+ response = request.get
52
+ Result.search(response, request, 'classifications')
53
+ end
54
+
55
+ def get_classification(id, type, options={})
56
+ options[:version] ||= 'v2'
57
+
58
+ request = Request.new("discovery/#{options[:version]}/#{type}/#{id}", {}, self)
59
+ response = request.get
60
+ Result.create(response, request, 'Ticketmaster::Classification')
61
+ end
62
+
63
+ def search_venues(options={})
64
+ options[:version] ||= 'v2'
65
+ options[:params] ||= {}
66
+
67
+ request = Request.new("discovery/#{options[:version]}/venues", options[:params], self)
68
+ response = request.get
69
+ Result.search(response, request, 'venues')
70
+ end
71
+
72
+ def get_venue(id, options={})
73
+ options[:version] ||= 'v2'
74
+
75
+ request = Request.new("discovery/#{options[:version]}/venues/#{id}", {}, self)
76
+ response = request.get
77
+ Result.create(response, request, 'Ticketmaster::Venue')
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,28 @@
1
+ module Ticketmaster
2
+ module Configuration
3
+ PERMITTED_PARAMS = [
4
+ :keyword,
5
+ :attractionId,
6
+ :venueId,
7
+ :promoterId,
8
+ :postalCode,
9
+ :latlong,
10
+ :radius,
11
+ :unit,
12
+ :source,
13
+ :locale,
14
+ :marketId,
15
+ :startDateTime,
16
+ :endDateTime,
17
+ :includeTBA,
18
+ :includeTBD,
19
+ :includeTest,
20
+ :sort,
21
+ :onsaleStartDateTime,
22
+ :onsaleEndDateTime,
23
+ :size,
24
+ :page,
25
+ :apikey
26
+ ]
27
+ end
28
+ end