songkickr 0.3.3 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (162) hide show
  1. checksums.yaml +7 -0
  2. data/.bundle/config +2 -0
  3. data/.gitignore +1 -0
  4. data/.travis.yml +8 -0
  5. data/Gemfile.lock +42 -22
  6. data/LICENSE +1 -1
  7. data/README.rdoc +14 -9
  8. data/Rakefile +3 -4
  9. data/lib/songkickr/artist.rb +2 -2
  10. data/lib/songkickr/artist_result.rb +4 -24
  11. data/lib/songkickr/calendar_entry.rb +23 -0
  12. data/lib/songkickr/calendar_result.rb +10 -0
  13. data/lib/songkickr/concert_setlist_result.rb +5 -27
  14. data/lib/songkickr/event.rb +8 -14
  15. data/lib/songkickr/event_result.rb +5 -23
  16. data/lib/songkickr/location.rb +4 -4
  17. data/lib/songkickr/location_result.rb +5 -30
  18. data/lib/songkickr/metro_area.rb +28 -0
  19. data/lib/songkickr/metro_area_result.rb +12 -0
  20. data/lib/songkickr/performance.rb +17 -12
  21. data/lib/songkickr/remote.rb +18 -198
  22. data/lib/songkickr/remote_api/artist_details.rb +17 -0
  23. data/lib/songkickr/remote_api/event_details.rb +17 -0
  24. data/lib/songkickr/remote_api/past_events.rb +48 -0
  25. data/lib/songkickr/remote_api/similar_artists.rb +14 -0
  26. data/lib/songkickr/remote_api/upcoming_events.rb +125 -0
  27. data/lib/songkickr/remote_api/user_events_and_trackings.rb +143 -0
  28. data/lib/songkickr/remote_api/venue_details.rb +16 -0
  29. data/lib/songkickr/result_set.rb +27 -0
  30. data/lib/songkickr/setlist.rb +7 -12
  31. data/lib/songkickr/setlist_item.rb +1 -1
  32. data/lib/songkickr/tracking.rb +18 -0
  33. data/lib/songkickr/tracking_result.rb +24 -0
  34. data/lib/songkickr/venue.rb +10 -2
  35. data/lib/songkickr/venue_result.rb +32 -0
  36. data/lib/songkickr/version.rb +1 -1
  37. data/lib/songkickr.rb +24 -17
  38. data/songkickr.gemspec +17 -44
  39. data/test/fixtures/event_7391451.json +732 -1
  40. data/test/fixtures/location_search.json +38 -0
  41. data/test/fixtures/metro_area.json +11 -0
  42. data/test/fixtures/users_attendance_calendar.json +243 -0
  43. data/test/fixtures/vcr/artist_events.yml +1394 -0
  44. data/test/fixtures/vcr/artist_search.yml +38 -0
  45. data/test/fixtures/vcr/artists_gigography.yml +187 -0
  46. data/test/fixtures/vcr/concert_setlists.yml +47 -0
  47. data/test/fixtures/vcr/event_search.yml +110 -0
  48. data/test/fixtures/vcr/invalid_api_key.yml +6 -36
  49. data/test/fixtures/vcr/invalid_artist_id.yml +6 -6
  50. data/test/fixtures/vcr/invalid_event_id.yml +6 -6
  51. data/test/fixtures/vcr/invalid_user.yml +6 -6
  52. data/test/fixtures/vcr/invalid_venue_id.yml +6 -6
  53. data/test/fixtures/vcr/location_search.yml +42 -0
  54. data/test/fixtures/vcr/metro_areas_events.yml +1535 -0
  55. data/test/fixtures/vcr/similar_artists.yml +64 -0
  56. data/test/fixtures/vcr/users_artist_tracking.yml +99 -0
  57. data/test/fixtures/vcr/users_attendance.yml +66 -0
  58. data/test/fixtures/vcr/users_attendance_calendar.yml +51 -0
  59. data/test/fixtures/vcr/users_events.yml +809 -0
  60. data/test/fixtures/vcr/users_gigography.yml +2782 -0
  61. data/test/fixtures/vcr/users_metro_area_tracking.yml +66 -0
  62. data/test/fixtures/vcr/users_muted_artists.yml +66 -0
  63. data/test/fixtures/vcr/users_tracked_artists.yml +75 -0
  64. data/test/fixtures/vcr/users_tracked_events_calendar.yml +1901 -0
  65. data/test/fixtures/vcr/users_tracked_metro_areas.yml +37 -0
  66. data/test/fixtures/vcr/valid_artist.yml +9 -9
  67. data/test/fixtures/vcr/valid_event.yml +103 -38
  68. data/test/fixtures/vcr/valid_user.yml +634 -44
  69. data/test/fixtures/vcr/valid_venue.yml +25 -26
  70. data/test/fixtures/vcr/venue_calendar.yml +500 -0
  71. data/test/fixtures/vcr/venue_search.yml +42 -0
  72. data/test/helper.rb +1 -27
  73. data/test/songkickr/test_calendar_entry.rb +15 -0
  74. data/test/songkickr/test_event.rb +8 -9
  75. data/test/songkickr/test_location.rb +11 -11
  76. data/test/songkickr/test_metro_area.rb +17 -0
  77. data/test/songkickr/test_remote.rb +149 -3
  78. data/test/songkickr/test_setlist_item.rb +20 -0
  79. data/test/songkickr/test_venue.rb +1 -2
  80. data/test.rb +3 -5
  81. metadata +120 -152
  82. data/bin/autospec +0 -16
  83. data/bin/convert_to_should_syntax +0 -16
  84. data/bin/guard +0 -16
  85. data/bin/htmldiff +0 -16
  86. data/bin/httparty +0 -16
  87. data/bin/jeweler +0 -16
  88. data/bin/ldiff +0 -16
  89. data/bin/rake +0 -16
  90. data/bin/rake2thor +0 -16
  91. data/bin/rg +0 -16
  92. data/bin/ri +0 -16
  93. data/bin/rspec +0 -16
  94. data/bin/thor +0 -16
  95. data/doc/APIError.html +0 -241
  96. data/doc/APIKeyNotSet.html +0 -203
  97. data/doc/LICENSE.html +0 -133
  98. data/doc/README_rdoc.html +0 -173
  99. data/doc/ResourceNotFound.html +0 -203
  100. data/doc/Songkickr/Artist.html +0 -278
  101. data/doc/Songkickr/ArtistResult.html +0 -308
  102. data/doc/Songkickr/ConcertSetlistResult.html +0 -283
  103. data/doc/Songkickr/Event.html +0 -491
  104. data/doc/Songkickr/EventResult.html +0 -306
  105. data/doc/Songkickr/Location.html +0 -299
  106. data/doc/Songkickr/LocationResult.html +0 -309
  107. data/doc/Songkickr/Performance.html +0 -295
  108. data/doc/Songkickr/Remote.html +0 -864
  109. data/doc/Songkickr/Setlist.html +0 -360
  110. data/doc/Songkickr/SetlistItem.html +0 -244
  111. data/doc/Songkickr/Venue.html +0 -265
  112. data/doc/Songkickr.html +0 -261
  113. data/doc/created.rid +0 -16
  114. data/doc/images/add.png +0 -0
  115. data/doc/images/brick.png +0 -0
  116. data/doc/images/brick_link.png +0 -0
  117. data/doc/images/bug.png +0 -0
  118. data/doc/images/bullet_black.png +0 -0
  119. data/doc/images/bullet_toggle_minus.png +0 -0
  120. data/doc/images/bullet_toggle_plus.png +0 -0
  121. data/doc/images/date.png +0 -0
  122. data/doc/images/delete.png +0 -0
  123. data/doc/images/find.png +0 -0
  124. data/doc/images/loadingAnimation.gif +0 -0
  125. data/doc/images/macFFBgHack.png +0 -0
  126. data/doc/images/package.png +0 -0
  127. data/doc/images/page_green.png +0 -0
  128. data/doc/images/page_white_text.png +0 -0
  129. data/doc/images/page_white_width.png +0 -0
  130. data/doc/images/plugin.png +0 -0
  131. data/doc/images/ruby.png +0 -0
  132. data/doc/images/tag_blue.png +0 -0
  133. data/doc/images/tag_green.png +0 -0
  134. data/doc/images/transparent.png +0 -0
  135. data/doc/images/wrench.png +0 -0
  136. data/doc/images/wrench_orange.png +0 -0
  137. data/doc/images/zoom.png +0 -0
  138. data/doc/index.html +0 -110
  139. data/doc/js/darkfish.js +0 -153
  140. data/doc/js/jquery.js +0 -18
  141. data/doc/js/navigation.js +0 -142
  142. data/doc/js/quicksearch.js +0 -114
  143. data/doc/js/search.js +0 -94
  144. data/doc/js/search_index.js +0 -1
  145. data/doc/js/searcher.js +0 -228
  146. data/doc/js/thickbox-compressed.js +0 -10
  147. data/doc/lib/songkickr/artist_rb.html +0 -52
  148. data/doc/lib/songkickr/artist_result_rb.html +0 -52
  149. data/doc/lib/songkickr/concert_setlist_result_rb.html +0 -52
  150. data/doc/lib/songkickr/event_rb.html +0 -52
  151. data/doc/lib/songkickr/event_result_rb.html +0 -52
  152. data/doc/lib/songkickr/location_rb.html +0 -52
  153. data/doc/lib/songkickr/location_result_rb.html +0 -52
  154. data/doc/lib/songkickr/performance_rb.html +0 -52
  155. data/doc/lib/songkickr/remote_rb.html +0 -52
  156. data/doc/lib/songkickr/setlist_item_rb.html +0 -52
  157. data/doc/lib/songkickr/setlist_rb.html +0 -52
  158. data/doc/lib/songkickr/venue_rb.html +0 -52
  159. data/doc/lib/songkickr_rb.html +0 -56
  160. data/doc/rdoc.css +0 -543
  161. data/doc/table_of_contents.html +0 -185
  162. data/test/fixtures/locations_bar.json +0 -1
@@ -1,864 +0,0 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
-
7
- <title>class Songkickr::Remote - RDoc Documentation</title>
8
-
9
- <link type="text/css" media="screen" href="../rdoc.css" rel="stylesheet">
10
-
11
- <script type="text/javascript">
12
- var rdoc_rel_prefix = "../";
13
- </script>
14
-
15
- <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="../js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="../js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="../js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="../js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="../js/darkfish.js"></script>
21
-
22
-
23
- <body id="top" class="class">
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="../index.html">Home</a>
28
- <a href="../table_of_contents.html#classes">Classes</a>
29
- <a href="../table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
33
-
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
35
- <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
38
- title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
44
-
45
-
46
- <div id="file-metadata">
47
- <nav id="file-list-section" class="section">
48
- <h3 class="section-header">Defined In</h3>
49
- <ul>
50
- <li>lib/songkickr/remote.rb
51
- </ul>
52
- </nav>
53
-
54
-
55
- </div>
56
-
57
- <div id="class-metadata">
58
-
59
- <nav id="parent-class-section" class="section">
60
- <h3 class="section-header">Parent</h3>
61
-
62
- <p class="link">Object
63
-
64
- </nav>
65
-
66
- <!-- Included Modules -->
67
- <nav id="includes-section" class="section">
68
- <h3 class="section-header">Included Modules</h3>
69
-
70
- <ul class="link-list">
71
-
72
-
73
- <li><span class="include">HTTParty</span>
74
-
75
-
76
- </ul>
77
- </nav>
78
-
79
- <!-- Method Quickref -->
80
- <nav id="method-list-section" class="section">
81
- <h3 class="section-header">Methods</h3>
82
-
83
- <ul class="link-list">
84
-
85
- <li><a href="#method-c-new">::new</a>
86
-
87
- <li><a href="#method-i-artist_events">#artist_events</a>
88
-
89
- <li><a href="#method-i-artist_search">#artist_search</a>
90
-
91
- <li><a href="#method-i-concert_setlists">#concert_setlists</a>
92
-
93
- <li><a href="#method-i-event">#event</a>
94
-
95
- <li><a href="#method-i-events">#events</a>
96
-
97
- <li><a href="#method-i-get">#get</a>
98
-
99
- <li><a href="#method-i-gigography">#gigography</a>
100
-
101
- <li><a href="#method-i-location_search">#location_search</a>
102
-
103
- <li><a href="#method-i-metro_areas_events">#metro_areas_events</a>
104
-
105
- <li><a href="#method-i-users_events">#users_events</a>
106
-
107
- <li><a href="#method-i-users_tracked_artists">#users_tracked_artists</a>
108
-
109
- <li><a href="#method-i-venue">#venue</a>
110
-
111
- </ul>
112
- </nav>
113
-
114
- </div>
115
-
116
- <div id="project-metadata">
117
- <nav id="fileindex-section" class="section project-section">
118
- <h3 class="section-header">Pages</h3>
119
-
120
- <ul>
121
-
122
- <li class="file"><a href="../LICENSE.html">LICENSE</a>
123
-
124
- <li class="file"><a href="../README_rdoc.html">README</a>
125
-
126
- </ul>
127
- </nav>
128
-
129
- <nav id="classindex-section" class="section project-section">
130
- <h3 class="section-header">Class and Module Index</h3>
131
-
132
- <ul class="link-list">
133
-
134
- <li><a href="../Songkickr.html">Songkickr</a>
135
-
136
- <li><a href="../Songkickr/Artist.html">Songkickr::Artist</a>
137
-
138
- <li><a href="../Songkickr/ArtistResult.html">Songkickr::ArtistResult</a>
139
-
140
- <li><a href="../Songkickr/ConcertSetlistResult.html">Songkickr::ConcertSetlistResult</a>
141
-
142
- <li><a href="../Songkickr/Event.html">Songkickr::Event</a>
143
-
144
- <li><a href="../Songkickr/EventResult.html">Songkickr::EventResult</a>
145
-
146
- <li><a href="../Songkickr/Location.html">Songkickr::Location</a>
147
-
148
- <li><a href="../Songkickr/LocationResult.html">Songkickr::LocationResult</a>
149
-
150
- <li><a href="../Songkickr/Performance.html">Songkickr::Performance</a>
151
-
152
- <li><a href="../Songkickr/Remote.html">Songkickr::Remote</a>
153
-
154
- <li><a href="../Songkickr/Setlist.html">Songkickr::Setlist</a>
155
-
156
- <li><a href="../Songkickr/SetlistItem.html">Songkickr::SetlistItem</a>
157
-
158
- <li><a href="../Songkickr/Venue.html">Songkickr::Venue</a>
159
-
160
- <li><a href="../APIError.html">APIError</a>
161
-
162
- <li><a href="../APIKeyNotSet.html">APIKeyNotSet</a>
163
-
164
- <li><a href="../ResourceNotFound.html">ResourceNotFound</a>
165
-
166
- </ul>
167
- </nav>
168
-
169
- </div>
170
- </nav>
171
-
172
- <div id="documentation">
173
- <h1 class="class">class Songkickr::Remote</h1>
174
-
175
- <div id="description" class="description">
176
-
177
- <p>Create an instance of the remote class to interact with the Songkick API.</p>
178
-
179
- </div><!-- description -->
180
-
181
-
182
-
183
-
184
- <section id="5Buntitled-5D" class="documentation-section">
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
- <!-- Attributes -->
193
- <section id="attribute-method-details" class="method-section section">
194
- <h3 class="section-header">Attributes</h3>
195
-
196
-
197
- <div id="attribute-i-api_key" class="method-detail">
198
- <div class="method-heading attribute-method-heading">
199
- <span class="method-name">api_key</span><span
200
- class="attribute-access-type">[R]</span>
201
- </div>
202
-
203
- <div class="method-description">
204
-
205
-
206
-
207
- </div>
208
- </div>
209
-
210
- </section><!-- attribute-method-details -->
211
-
212
-
213
- <!-- Methods -->
214
-
215
- <section id="public-class-5Buntitled-5D-method-details" class="method-section section">
216
- <h3 class="section-header">Public Class Methods</h3>
217
-
218
-
219
- <div id="method-c-new" class="method-detail ">
220
-
221
- <div class="method-heading">
222
- <span class="method-name">new</span><span
223
- class="method-args">(api_key = nil)</span>
224
- <span class="method-click-advice">click to toggle source</span>
225
- </div>
226
-
227
-
228
- <div class="method-description">
229
-
230
- <h4 id="method-c-new-label-Create+a+new+instance+of+the+remote+class+to+talk+to+Songkick">Create a new instance of the remote class to talk to Songkick</h4>
231
-
232
- <p>Get an API key for your app from <a
233
- href="http://developer.songkick.com/">developer.songkick.com/</a></p>
234
-
235
-
236
-
237
- <div class="method-source-code" id="new-source">
238
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 12</span>
239
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">api_key</span> = <span class="ruby-keyword">nil</span>)
240
- <span class="ruby-ivar">@api_key</span> = <span class="ruby-identifier">api_key</span>
241
- <span class="ruby-ivar">@api_key</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Songkickr</span>.<span class="ruby-identifier">api_key</span>
242
-
243
- <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">default_params</span> <span class="ruby-value">:apikey</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@api_key</span>
244
- <span class="ruby-keyword">end</span></pre>
245
- </div><!-- new-source -->
246
-
247
- </div>
248
-
249
-
250
-
251
-
252
- </div><!-- new-method -->
253
-
254
-
255
- </section><!-- public-class-method-details -->
256
-
257
- <section id="public-instance-5Buntitled-5D-method-details" class="method-section section">
258
- <h3 class="section-header">Public Instance Methods</h3>
259
-
260
-
261
- <div id="method-i-artist_events" class="method-detail ">
262
-
263
- <div class="method-heading">
264
- <span class="method-name">artist_events</span><span
265
- class="method-args">(artist_id, query = {})</span>
266
- <span class="method-click-advice">click to toggle source</span>
267
- </div>
268
-
269
-
270
- <div class="method-description">
271
-
272
- <h4 id="method-i-artist_events-label-Artist+calendar+%28Upcoming%29"><a href="Artist.html">Artist</a> calendar (Upcoming)</h4>
273
-
274
- <p>Returns an array of Events.</p>
275
-
276
- <p><a
277
- href="http://www.songkick.com/developer/upcoming-events-for-artist">www.songkick.com/developer/upcoming-events-for-artist</a></p>
278
-
279
- <h3 id="method-i-artist_events-label-Parameters">Parameters</h3>
280
- <ul><li>
281
- <p><code>artist_id</code> - Songkick unique ID for artist. Use <a
282
- href="Remote.html#method-i-artist_search">#artist_search</a> to find an
283
- artist ID.</p>
284
- </li><li>
285
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
286
- </li></ul>
287
-
288
- <h4 id="method-i-artist_events-label-Query+Parameters">Query Parameters</h4>
289
- <ul><li>
290
- <p><code>page</code> - Page number</p>
291
- </li><li>
292
- <p><code>per_page</code> - Number of results per page, max 50.</p>
293
- </li></ul>
294
-
295
-
296
-
297
- <div class="method-source-code" id="artist_events-source">
298
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 99</span>
299
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">artist_events</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">query</span> = {})
300
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/artists/#{artist_id}/calendar.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
301
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">EventResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
302
- <span class="ruby-keyword">end</span></pre>
303
- </div><!-- artist_events-source -->
304
-
305
- </div>
306
-
307
-
308
-
309
-
310
- </div><!-- artist_events-method -->
311
-
312
-
313
- <div id="method-i-artist_search" class="method-detail ">
314
-
315
- <div class="method-heading">
316
- <span class="method-name">artist_search</span><span
317
- class="method-args">(query={})</span>
318
- <span class="method-click-advice">click to toggle source</span>
319
- </div>
320
-
321
-
322
- <div class="method-description">
323
-
324
- <h4 id="method-i-artist_search-label-Artist+Search+API"><a href="Artist.html">Artist</a> Search API</h4>
325
-
326
- <p>Returns <a href="Artist.html">Artist</a> objects.</p>
327
-
328
- <p><a
329
- href="http://www.songkick.com/developer/artist-search">www.songkick.com/developer/artist-search</a></p>
330
-
331
- <h3 id="method-i-artist_search-label-Parameters">Parameters</h3>
332
- <ul><li>
333
- <p><code>query</code> - Search for artists by name using full text search.
334
- Results from Songkick are returned by relevancy.</p>
335
- </li></ul>
336
-
337
- <h4 id="method-i-artist_search-label-Query+Parameters">Query Parameters</h4>
338
- <ul><li>
339
- <p><code>artist_name</code> - Name of an artist. <em>Ex. 'Lady Gaga',
340
- 'Slayer', 'Atmosphere'</em></p>
341
- </li></ul>
342
-
343
-
344
-
345
- <div class="method-source-code" id="artist_search-source">
346
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 82</span>
347
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">artist_search</span>(<span class="ruby-identifier">query</span>={})
348
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-string">&quot;/search/artists.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
349
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">ArtistResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
350
- <span class="ruby-keyword">end</span></pre>
351
- </div><!-- artist_search-source -->
352
-
353
- </div>
354
-
355
-
356
-
357
-
358
- </div><!-- artist_search-method -->
359
-
360
-
361
- <div id="method-i-concert_setlists" class="method-detail ">
362
-
363
- <div class="method-heading">
364
- <span class="method-name">concert_setlists</span><span
365
- class="method-args">(event_id)</span>
366
- <span class="method-click-advice">click to toggle source</span>
367
- </div>
368
-
369
-
370
- <div class="method-description">
371
-
372
- <h4 id="method-i-concert_setlists-label-Concert+Setlists+API">Concert Setlists API</h4>
373
-
374
- <p><a
375
- href="http://www.songkick.com/developer/setlists">www.songkick.com/developer/setlists</a></p>
376
-
377
- <h3 id="method-i-concert_setlists-label-Parameters">Parameters</h3>
378
- <ul><li>
379
- <p><code>event_id</code> - Songkick event ID. Extract the event ID either from
380
- a previous API call or from the URL of the event page on the website.</p>
381
- </li></ul>
382
-
383
-
384
-
385
- <div class="method-source-code" id="concert_setlists-source">
386
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 164</span>
387
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">concert_setlists</span>(<span class="ruby-identifier">event_id</span>)
388
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/events/#{event_id}/setlists.json&quot;</span>)
389
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">ConcertSetlistResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
390
- <span class="ruby-keyword">end</span></pre>
391
- </div><!-- concert_setlists-source -->
392
-
393
- </div>
394
-
395
-
396
-
397
-
398
- </div><!-- concert_setlists-method -->
399
-
400
-
401
- <div id="method-i-event" class="method-detail ">
402
-
403
- <div class="method-heading">
404
- <span class="method-name">event</span><span
405
- class="method-args">(event_id)</span>
406
- <span class="method-click-advice">click to toggle source</span>
407
- </div>
408
-
409
-
410
- <div class="method-description">
411
-
412
- <h4 id="method-i-event-label-Event+API"><a href="Event.html">Event</a> API</h4>
413
-
414
- <p><a
415
- href="http://www.songkick.com/developer/upcoming-events">www.songkick.com/developer/upcoming-events</a></p>
416
-
417
- <p>Getting detailed information of a single event.</p>
418
-
419
- <h3 id="method-i-event-label-Parameters">Parameters</h3>
420
- <ul><li>
421
- <p><code>event_id</code> - Songkick event ID. Extract the event ID either from
422
- a previous API call or from the URL of the event page on the website.</p>
423
- </li></ul>
424
-
425
-
426
-
427
- <div class="method-source-code" id="event-source">
428
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 50</span>
429
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">event</span>(<span class="ruby-identifier">event_id</span>)
430
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/events/#{event_id}.json&quot;</span>)
431
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">Event</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>[<span class="ruby-string">&quot;resultsPage&quot;</span>][<span class="ruby-string">&quot;results&quot;</span>][<span class="ruby-string">&quot;event&quot;</span>]
432
- <span class="ruby-keyword">end</span></pre>
433
- </div><!-- event-source -->
434
-
435
- </div>
436
-
437
-
438
-
439
-
440
- </div><!-- event-method -->
441
-
442
-
443
- <div id="method-i-events" class="method-detail ">
444
-
445
- <div class="method-heading">
446
- <span class="method-name">events</span><span
447
- class="method-args">(query = {})</span>
448
- <span class="method-click-advice">click to toggle source</span>
449
- </div>
450
-
451
-
452
- <div class="method-description">
453
-
454
- <h4 id="method-i-events-label-Event+Search+API"><a href="Event.html">Event</a> Search API</h4>
455
-
456
- <p><a
457
- href="http://www.songkick.com/developer/event-search">www.songkick.com/developer/event-search</a></p>
458
-
459
- <h3 id="method-i-events-label-Parameters">Parameters</h3>
460
- <ul><li>
461
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
462
- </li></ul>
463
-
464
- <p><em>Example:</em> <code>{ :type =&gt; 'concert', :artists =&gt; 'Coolio'
465
- }</code></p>
466
-
467
- <h4 id="method-i-events-label-Query+Parameters">Query Parameters</h4>
468
- <ul><li>
469
- <p><code>type</code> - valid types: concert or festival</p>
470
- </li><li>
471
- <p><code>artists</code> - events by any of the artists, comma-separated</p>
472
- </li><li>
473
- <p><code>artist_name</code> - plain text name of artist ex. 'As I Lay Dying',
474
- 'Parkway Drive', 'Animals As Leaders'</p>
475
- </li><li>
476
- <p><code>artist_id</code> - Songkick unique ID for an artist</p>
477
- </li><li>
478
- <p><code>venue_id</code> - Songkick unique ID for a venue</p>
479
- </li><li>
480
- <p><code>setlist_item_name</code> - name of a song which was played at the
481
- event – use with artist_id or artist_name</p>
482
- </li><li>
483
- <p><code>min_date</code> - Oldest date for which you want to look for events</p>
484
- </li><li>
485
- <p><code>max_date</code> - Most recent date for which you want to look for
486
- events</p>
487
- </li><li>
488
- <p><code>location</code> - See the Songkick website for instructions on how to
489
- use the location parameter <a
490
- href="http://www.songkick.com/developer/location-search">www.songkick.com/developer/location-search</a></p>
491
- </li></ul>
492
-
493
-
494
-
495
- <div class="method-source-code" id="events-source">
496
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 37</span>
497
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">events</span>(<span class="ruby-identifier">query</span> = {})
498
- <span class="ruby-identifier">path</span> = <span class="ruby-identifier">extract_path_from_query</span>(<span class="ruby-identifier">query</span>)
499
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;#{path}/events.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
500
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">EventResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
501
- <span class="ruby-keyword">end</span></pre>
502
- </div><!-- events-source -->
503
-
504
- </div>
505
-
506
-
507
-
508
-
509
- </div><!-- events-method -->
510
-
511
-
512
- <div id="method-i-get" class="method-detail ">
513
-
514
- <div class="method-heading">
515
- <span class="method-name">get</span><span
516
- class="method-args">(location, query_params = {})</span>
517
- <span class="method-click-advice">click to toggle source</span>
518
- </div>
519
-
520
-
521
- <div class="method-description">
522
-
523
-
524
-
525
-
526
-
527
- <div class="method-source-code" id="get-source">
528
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 193</span>
529
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">get</span>(<span class="ruby-identifier">location</span>, <span class="ruby-identifier">query_params</span> = {})
530
- <span class="ruby-identifier">result</span> = <span class="ruby-keyword">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">location</span>, <span class="ruby-identifier">query_params</span>)
531
- <span class="ruby-comment"># FIXME: this is shit. should be based on on http response.</span>
532
- <span class="ruby-keyword">if</span> <span class="ruby-identifier">result</span>[<span class="ruby-string">'resultsPage'</span>][<span class="ruby-string">'error'</span>]
533
- <span class="ruby-identifier">msg</span> = <span class="ruby-identifier">result</span>[<span class="ruby-string">'resultsPage'</span>][<span class="ruby-string">'error'</span>][<span class="ruby-string">'message'</span>]
534
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">ResourceNotFound</span> <span class="ruby-keyword">if</span> <span class="ruby-identifier">msg</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp">%rnot found/</span>
535
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">APIError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">msg</span>)
536
- <span class="ruby-keyword">end</span>
537
- <span class="ruby-identifier">result</span>
538
- <span class="ruby-keyword">end</span></pre>
539
- </div><!-- get-source -->
540
-
541
- </div>
542
-
543
-
544
-
545
-
546
- </div><!-- get-method -->
547
-
548
-
549
- <div id="method-i-gigography" class="method-detail ">
550
-
551
- <div class="method-heading">
552
- <span class="method-name">gigography</span><span
553
- class="method-args">(artist_id, query= {})</span>
554
- <span class="method-click-advice">click to toggle source</span>
555
- </div>
556
-
557
-
558
- <div class="method-description">
559
-
560
- <h4 id="method-i-gigography-label-Gigography+API">Gigography API</h4>
561
-
562
- <p><a
563
- href="http://groups.google.com/group/songkick-api/browse_thread/thread/af15b9a6ad3c3513">groups.google.com/group/songkick-api/browse_thread/thread/af15b9a6ad3c3513</a>#</p>
564
-
565
- <h3 id="method-i-gigography-label-Parameters">Parameters</h3>
566
- <ul><li>
567
- <p><code>artist_id</code> - Songkick artist_id, use <a
568
- href="Remote.html#method-i-artist_search">#artist_search</a> to get it</p>
569
- </li><li>
570
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
571
- </li></ul>
572
-
573
- <h4 id="method-i-gigography-label-Query+Parameters">Query Parameters</h4>
574
- <ul><li>
575
- <p><code>min_date</code> - Oldest date for which you want to look for events</p>
576
- </li><li>
577
- <p><code>max_date</code> - Most recent date for which you want to look for
578
- events</p>
579
- </li><li>
580
- <p><code>per_page</code> - Number of items on a page</p>
581
- </li><li>
582
- <p><code>page</code> - Number of page</p>
583
- </li></ul>
584
-
585
-
586
-
587
- <div class="method-source-code" id="gigography-source">
588
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 67</span>
589
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">gigography</span>(<span class="ruby-identifier">artist_id</span>, <span class="ruby-identifier">query</span>= {})
590
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/artists/#{artist_id}/gigography.json&quot;</span>,<span class="ruby-value">:query=</span><span class="ruby-operator">&gt;</span><span class="ruby-identifier">query</span>)
591
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">EventResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
592
- <span class="ruby-keyword">end</span></pre>
593
- </div><!-- gigography-source -->
594
-
595
- </div>
596
-
597
-
598
-
599
-
600
- </div><!-- gigography-method -->
601
-
602
-
603
- <div id="method-i-location_search" class="method-detail ">
604
-
605
- <div class="method-heading">
606
- <span class="method-name">location_search</span><span
607
- class="method-args">(query = {})</span>
608
- <span class="method-click-advice">click to toggle source</span>
609
- </div>
610
-
611
-
612
- <div class="method-description">
613
-
614
- <h4 id="method-i-location_search-label-Location+Search+API"><a href="Location.html">Location</a> Search API</h4>
615
-
616
- <p><a
617
- href="http://www.songkick.com/developer/location-search">www.songkick.com/developer/location-search</a></p>
618
-
619
- <h3 id="method-i-location_search-label-Parameters">Parameters</h3>
620
- <ul><li>
621
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
622
- </li></ul>
623
-
624
- <h4 id="method-i-location_search-label-Query+Parameters">Query Parameters</h4>
625
- <ul><li>
626
- <p><code>location</code> - 'geo:{lat,lng}' string <em>Ex.
627
- 'geo:{-0.128,51.5078}'</em></p>
628
- </li></ul>
629
-
630
-
631
-
632
- <div class="method-source-code" id="location_search-source">
633
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 177</span>
634
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">location_search</span>(<span class="ruby-identifier">query</span> = {})
635
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-string">&quot;/search/locations.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
636
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">LocationResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
637
- <span class="ruby-keyword">end</span></pre>
638
- </div><!-- location_search-source -->
639
-
640
- </div>
641
-
642
-
643
-
644
-
645
- </div><!-- location_search-method -->
646
-
647
-
648
- <div id="method-i-metro_areas_events" class="method-detail ">
649
-
650
- <div class="method-heading">
651
- <span class="method-name">metro_areas_events</span><span
652
- class="method-args">(metro_area_id, query = {})</span>
653
- <span class="method-click-advice">click to toggle source</span>
654
- </div>
655
-
656
-
657
- <div class="method-description">
658
-
659
- <h4 id="method-i-metro_areas_events-label-Metro+Area+Events+%28Upcoming%29">Metro Area Events (Upcoming)</h4>
660
-
661
- <p>Returns an array of Events.</p>
662
-
663
- <p><a
664
- href="http://www.songkick.com/developer/upcoming-events-for-metro-area">www.songkick.com/developer/upcoming-events-for-metro-area</a></p>
665
-
666
- <h3 id="method-i-metro_areas_events-label-Parameters">Parameters</h3>
667
- <ul><li>
668
- <p><code>metro_area_id</code> - Songkick unique ID for metro areas. Use <a
669
- href="Remote.html#method-i-location_search">#location_search</a> to find a
670
- metro area ID.</p>
671
- </li><li>
672
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
673
- </li></ul>
674
-
675
- <h4 id="method-i-metro_areas_events-label-Query+Parameters">Query Parameters</h4>
676
- <ul><li>
677
- <p><code>page</code> - Page number</p>
678
- </li><li>
679
- <p><code>per_page</code> - Number of results per page, max 50.</p>
680
- </li></ul>
681
-
682
-
683
-
684
- <div class="method-source-code" id="metro_areas_events-source">
685
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 153</span>
686
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">metro_areas_events</span>(<span class="ruby-identifier">metro_area_id</span>, <span class="ruby-identifier">query</span> = {})
687
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/metro_areas/#{metro_area_id}/calendar.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
688
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">EventResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
689
- <span class="ruby-keyword">end</span></pre>
690
- </div><!-- metro_areas_events-source -->
691
-
692
- </div>
693
-
694
-
695
-
696
-
697
- </div><!-- metro_areas_events-method -->
698
-
699
-
700
- <div id="method-i-users_events" class="method-detail ">
701
-
702
- <div class="method-heading">
703
- <span class="method-name">users_events</span><span
704
- class="method-args">(username, query = {})</span>
705
- <span class="method-click-advice">click to toggle source</span>
706
- </div>
707
-
708
-
709
- <div class="method-description">
710
-
711
- <h4 id="method-i-users_events-label-User+Events+API">User Events API</h4>
712
-
713
- <p><a
714
- href="http://www.songkick.com/developer/upcoming-events-for-user">www.songkick.com/developer/upcoming-events-for-user</a></p>
715
-
716
- <h3 id="method-i-users_events-label-Parameters">Parameters</h3>
717
- <ul><li>
718
- <p><code>username</code> - A Songkick username.</p>
719
- </li><li>
720
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
721
- </li></ul>
722
-
723
- <h4 id="method-i-users_events-label-Query+Parameters">Query Parameters</h4>
724
- <ul><li>
725
- <p><code>attendance</code> (all, im_going, i_might_go) - defaults to im_going</p>
726
- </li><li>
727
- <p><code>type</code> (concert or festival)</p>
728
- </li><li>
729
- <p><code>artists</code> (events by any of the artists, comma-separated)</p>
730
- </li><li>
731
- <p><code>artist_id</code> - Songkick unique ID for an artist</p>
732
- </li><li>
733
- <p><code>venue_id</code> - Songkick unique ID for a venue</p>
734
- </li><li>
735
- <p><code>setlist_item_name</code> (name of a song which was played at the
736
- event – use with artist_id or artist_name)</p>
737
- </li><li>
738
- <p><code>min_date</code> - Oldest date for which you want to look for events</p>
739
- </li><li>
740
- <p><code>max_date</code> - Most recent date for which you want to look for
741
- events</p>
742
- </li><li>
743
- <p><code>location</code> - see the Songkick website for instructions on how to
744
- use the location parameter</p>
745
- </li></ul>
746
-
747
-
748
-
749
- <div class="method-source-code" id="users_events-source">
750
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 121</span>
751
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">users_events</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">query</span> = {})
752
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/users/#{username}/events.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
753
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">EventResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
754
- <span class="ruby-keyword">end</span></pre>
755
- </div><!-- users_events-source -->
756
-
757
- </div>
758
-
759
-
760
-
761
-
762
- </div><!-- users_events-method -->
763
-
764
-
765
- <div id="method-i-users_tracked_artists" class="method-detail ">
766
-
767
- <div class="method-heading">
768
- <span class="method-name">users_tracked_artists</span><span
769
- class="method-args">(username, query = {})</span>
770
- <span class="method-click-advice">click to toggle source</span>
771
- </div>
772
-
773
-
774
- <div class="method-description">
775
-
776
- <h4 id="method-i-users_tracked_artists-label-User+Tracked+Artists">User Tracked Artists</h4>
777
-
778
- <p><a
779
- href="http://www.songkick.com/developer/trackings">www.songkick.com/developer/trackings</a></p>
780
-
781
- <h3 id="method-i-users_tracked_artists-label-Parameters">Parameters</h3>
782
- <ul><li>
783
- <p><code>username</code> - A Songkick username.</p>
784
- </li><li>
785
- <p><code>query</code> - A hash of query parameters, see below for options.</p>
786
- </li></ul>
787
-
788
- <h4 id="method-i-users_tracked_artists-label-Query+Parameters">Query Parameters</h4>
789
- <ul><li>
790
- <p><code>page</code> - Page number</p>
791
- </li><li>
792
- <p><code>per_page</code> - Number of results per page, max 50.</p>
793
- </li></ul>
794
-
795
-
796
-
797
- <div class="method-source-code" id="users_tracked_artists-source">
798
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 136</span>
799
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">users_tracked_artists</span>(<span class="ruby-identifier">username</span>, <span class="ruby-identifier">query</span> = {})
800
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/users/#{username}/artists/tracked.json&quot;</span>, <span class="ruby-value">:query</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">query</span>)
801
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">ArtistResult</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>
802
- <span class="ruby-keyword">end</span></pre>
803
- </div><!-- users_tracked_artists-source -->
804
-
805
- </div>
806
-
807
-
808
-
809
-
810
- </div><!-- users_tracked_artists-method -->
811
-
812
-
813
- <div id="method-i-venue" class="method-detail ">
814
-
815
- <div class="method-heading">
816
- <span class="method-name">venue</span><span
817
- class="method-args">(venue_id)</span>
818
- <span class="method-click-advice">click to toggle source</span>
819
- </div>
820
-
821
-
822
- <div class="method-description">
823
-
824
- <h4 id="method-i-venue-label-Venue+Search"><a href="Venue.html">Venue</a> Search</h4>
825
-
826
- <p><a
827
- href="http://www.songkick.com/developer/venue-details">www.songkick.com/developer/venue-details</a></p>
828
-
829
- <h3 id="method-i-venue-label-Parameters">Parameters</h3>
830
- <ul><li>
831
- <p><code>venue_id</code> - Songkick venue ID.</p>
832
- </li></ul>
833
-
834
-
835
-
836
- <div class="method-source-code" id="venue-source">
837
- <pre><span class="ruby-comment"># File lib/songkickr/remote.rb, line 188</span>
838
- <span class="ruby-keyword">def</span> <span class="ruby-identifier">venue</span>(<span class="ruby-identifier">venue_id</span>)
839
- <span class="ruby-identifier">result</span> = <span class="ruby-identifier">get</span>(<span class="ruby-node">&quot;/venues/#{venue_id}.json&quot;</span>)
840
- <span class="ruby-constant">Songkickr</span><span class="ruby-operator">::</span><span class="ruby-constant">Venue</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">result</span>[<span class="ruby-string">'resultsPage'</span>][<span class="ruby-string">'results'</span>][<span class="ruby-string">'venue'</span>]
841
- <span class="ruby-keyword">end</span></pre>
842
- </div><!-- venue-source -->
843
-
844
- </div>
845
-
846
-
847
-
848
-
849
- </div><!-- venue-method -->
850
-
851
-
852
- </section><!-- public-instance-method-details -->
853
-
854
- </section><!-- 5Buntitled-5D -->
855
-
856
- </div><!-- documentation -->
857
-
858
-
859
- <footer id="validator-badges">
860
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
861
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 3.12.
862
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
863
- </footer>
864
-