rdio_api 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (56) hide show
  1. data/.gitignore +11 -0
  2. data/Gemfile +4 -0
  3. data/Guardfile +20 -0
  4. data/README.md +115 -0
  5. data/Rakefile +10 -0
  6. data/lib/rdio_api/api.rb +81 -0
  7. data/lib/rdio_api/client.rb +48 -0
  8. data/lib/rdio_api/version.rb +3 -0
  9. data/lib/rdio_api.rb +14 -0
  10. data/rdio_api.gemspec +30 -0
  11. data/spec/fixtures/addFriend.json +4 -0
  12. data/spec/fixtures/addToCollection.json +4 -0
  13. data/spec/fixtures/addToPlaylist.json +4 -0
  14. data/spec/fixtures/createPlaylist.json +19 -0
  15. data/spec/fixtures/currentUser.json +14 -0
  16. data/spec/fixtures/deletePlaylist.json +4 -0
  17. data/spec/fixtures/findUser.json +14 -0
  18. data/spec/fixtures/get.json +16 -0
  19. data/spec/fixtures/getActivityStream.json +18 -0
  20. data/spec/fixtures/getAlbumsForArtist.json +917 -0
  21. data/spec/fixtures/getAlbumsForArtistInCollection.json +82 -0
  22. data/spec/fixtures/getAlbumsInCollection.json +1184 -0
  23. data/spec/fixtures/getArtistsInCollection.json +37 -0
  24. data/spec/fixtures/getHeavyRotation.json +394 -0
  25. data/spec/fixtures/getNewReleases.json +796 -0
  26. data/spec/fixtures/getObjectFromShortCode.json +33 -0
  27. data/spec/fixtures/getObjectFromUrl.json +16 -0
  28. data/spec/fixtures/getPlaybackToken.json +4 -0
  29. data/spec/fixtures/getPlaylists.json +25 -0
  30. data/spec/fixtures/getTopCharts.json +181 -0
  31. data/spec/fixtures/getTracksForAlbumInCollection.json +440 -0
  32. data/spec/fixtures/getTracksForArtist.json +295 -0
  33. data/spec/fixtures/getTracksForArtistInCollection.json +34 -0
  34. data/spec/fixtures/getTracksInCollection.json +121 -0
  35. data/spec/fixtures/removeFriend.json +4 -0
  36. data/spec/fixtures/removeFromCollection.json +4 -0
  37. data/spec/fixtures/removeFromPlaylist.json +4 -0
  38. data/spec/fixtures/search.json +523 -0
  39. data/spec/fixtures/searchSuggestions.json +117 -0
  40. data/spec/fixtures/setAvailableOffline.json +4 -0
  41. data/spec/fixtures/setPlaylistCollaborating.json +4 -0
  42. data/spec/fixtures/setPlaylistCollaborationMode.json +4 -0
  43. data/spec/fixtures/setPlaylistFields.json +4 -0
  44. data/spec/fixtures/setPlaylistOrder.json +4 -0
  45. data/spec/fixtures/userFollowers.json +27 -0
  46. data/spec/fixtures/userFollowing.json +27 -0
  47. data/spec/helper.rb +26 -0
  48. data/spec/rdio_api/activity_spec.rb +59 -0
  49. data/spec/rdio_api/catalog_spec.rb +77 -0
  50. data/spec/rdio_api/client_spec.rb +18 -0
  51. data/spec/rdio_api/collection_spec.rb +127 -0
  52. data/spec/rdio_api/core_spec.rb +59 -0
  53. data/spec/rdio_api/playback_spec.rb +22 -0
  54. data/spec/rdio_api/playlists_spec.rb +122 -0
  55. data/spec/rdio_api/social_spec.rb +92 -0
  56. metadata +273 -0
@@ -0,0 +1,295 @@
1
+ {
2
+ "status" :"ok",
3
+ "result" : [
4
+ {
5
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
6
+ "canDownloadAlbumOnly": false,
7
+ "artistUrl": "/artist/Ratatat/",
8
+ "duration": 253,
9
+ "album": "LP4",
10
+ "isClean": false,
11
+ "albumUrl": "/artist/Ratatat/album/LP4/",
12
+ "shortUrl": "http://rd.io/x/QDaXKyyY9g",
13
+ "albumArtist": "Ratatat",
14
+ "canStream": false,
15
+ "embedUrl": "http://rd.io/e/QDaXKyyY9g",
16
+ "type": "t",
17
+ "price": "None",
18
+ "trackNum": 1,
19
+ "albumArtistKey": "r311065",
20
+ "key": "t7325604",
21
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
22
+ "canSample": true,
23
+ "name": "Bilar",
24
+ "isExplicit": false,
25
+ "artist": "Ratatat",
26
+ "url": "/artist/Ratatat/album/LP4/track/Bilar/",
27
+ "albumKey": "a610475",
28
+ "artistKey": "r311065",
29
+ "canDownload": false,
30
+ "length": 1,
31
+ "canTether": false
32
+ },
33
+ {
34
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
35
+ "canDownloadAlbumOnly": false,
36
+ "artistUrl": "/artist/Ratatat/",
37
+ "duration": 294,
38
+ "album": "LP4",
39
+ "isClean": false,
40
+ "albumUrl": "/artist/Ratatat/album/LP4/",
41
+ "shortUrl": "http://rd.io/x/QDaXKyyYlg",
42
+ "albumArtist": "Ratatat",
43
+ "canStream": false,
44
+ "embedUrl": "http://rd.io/e/QDaXKyyYlg",
45
+ "type": "t",
46
+ "price": "None",
47
+ "trackNum": 2,
48
+ "albumArtistKey": "r311065",
49
+ "key": "t7325636",
50
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
51
+ "canSample": true,
52
+ "name": "Drugs",
53
+ "isExplicit": false,
54
+ "artist": "Ratatat",
55
+ "url": "/artist/Ratatat/album/LP4/track/Drugs/",
56
+ "albumKey": "a610475",
57
+ "artistKey": "r311065",
58
+ "canDownload": false,
59
+ "length": 1,
60
+ "canTether": false
61
+ },
62
+ {
63
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
64
+ "canDownloadAlbumOnly": false,
65
+ "artistUrl": "/artist/Ratatat/",
66
+ "duration": 245,
67
+ "album": "LP4",
68
+ "isClean": false,
69
+ "albumUrl": "/artist/Ratatat/album/LP4/",
70
+ "shortUrl": "http://rd.io/x/QDaXKyyYug",
71
+ "albumArtist": "Ratatat",
72
+ "canStream": false,
73
+ "embedUrl": "http://rd.io/e/QDaXKyyYug",
74
+ "type": "t",
75
+ "price": "None",
76
+ "trackNum": 3,
77
+ "albumArtistKey": "r311065",
78
+ "key": "t7325672",
79
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
80
+ "canSample": true,
81
+ "name": "Neckbrace",
82
+ "isExplicit": false,
83
+ "artist": "Ratatat",
84
+ "url": "/artist/Ratatat/album/LP4/track/Neckbrace/",
85
+ "albumKey": "a610475",
86
+ "artistKey": "r311065",
87
+ "canDownload": false,
88
+ "length": 1,
89
+ "canTether": false
90
+ },
91
+ {
92
+ "baseIcon": "album/d/5/f/0000000000095f5d/square-200.jpg",
93
+ "canDownloadAlbumOnly": false,
94
+ "artistUrl": "/artist/Ratatat/",
95
+ "duration": 260,
96
+ "album": "Classics",
97
+ "isClean": false,
98
+ "albumUrl": "/artist/Ratatat/album/Classics/",
99
+ "shortUrl": "http://rd.io/x/QDaXKzMuLg",
100
+ "albumArtist": "Ratatat",
101
+ "canStream": false,
102
+ "embedUrl": "http://rd.io/e/QDaXKzMuLg",
103
+ "type": "t",
104
+ "price": "None",
105
+ "trackNum": 4,
106
+ "albumArtistKey": "r311065",
107
+ "key": "t7369084",
108
+ "icon": "http://media.rd.io/album/d/5/f/0000000000095f5d/square-200.jpg",
109
+ "canSample": true,
110
+ "name": "Wildcat",
111
+ "isExplicit": false,
112
+ "artist": "Ratatat",
113
+ "url": "/artist/Ratatat/album/Classics/track/Wildcat/",
114
+ "albumKey": "a614237",
115
+ "artistKey": "r311065",
116
+ "canDownload": false,
117
+ "length": 1,
118
+ "canTether": false
119
+ },
120
+ {
121
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
122
+ "canDownloadAlbumOnly": false,
123
+ "artistUrl": "/artist/Ratatat/",
124
+ "duration": 130,
125
+ "album": "LP4",
126
+ "isClean": false,
127
+ "albumUrl": "/artist/Ratatat/album/LP4/",
128
+ "shortUrl": "http://rd.io/x/QDaXKyyXVQ",
129
+ "albumArtist": "Ratatat",
130
+ "canStream": false,
131
+ "embedUrl": "http://rd.io/e/QDaXKyyXVQ",
132
+ "type": "t",
133
+ "price": "None",
134
+ "trackNum": 4,
135
+ "albumArtistKey": "r311065",
136
+ "key": "t7325703",
137
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
138
+ "canSample": true,
139
+ "name": "We Can\u2019t Be Stopped",
140
+ "isExplicit": false,
141
+ "artist": "Ratatat",
142
+ "url": "/artist/Ratatat/album/LP4/track/We_Can%E2%80%99t_Be_Stopped/",
143
+ "albumKey": "a610475",
144
+ "artistKey": "r311065",
145
+ "canDownload": false,
146
+ "length": 1,
147
+ "canTether": false
148
+ },
149
+ {
150
+ "baseIcon": "album/d/5/f/0000000000095f5d/square-200.jpg",
151
+ "canDownloadAlbumOnly": false,
152
+ "artistUrl": "/artist/Ratatat/",
153
+ "duration": 226,
154
+ "album": "Classics",
155
+ "isClean": false,
156
+ "albumUrl": "/artist/Ratatat/album/Classics/",
157
+ "shortUrl": "http://rd.io/x/QDaXKzMuLA",
158
+ "albumArtist": "Ratatat",
159
+ "canStream": false,
160
+ "embedUrl": "http://rd.io/e/QDaXKzMuLA",
161
+ "type": "t",
162
+ "price": "None",
163
+ "trackNum": 6,
164
+ "albumArtistKey": "r311065",
165
+ "key": "t7369086",
166
+ "icon": "http://media.rd.io/album/d/5/f/0000000000095f5d/square-200.jpg",
167
+ "canSample": true,
168
+ "name": "Loud Pipes",
169
+ "isExplicit": false,
170
+ "artist": "Ratatat",
171
+ "url": "/artist/Ratatat/album/Classics/track/Loud_Pipes/",
172
+ "albumKey": "a614237",
173
+ "artistKey": "r311065",
174
+ "canDownload": false,
175
+ "length": 1,
176
+ "canTether": false
177
+ },
178
+ {
179
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
180
+ "canDownloadAlbumOnly": false,
181
+ "artistUrl": "/artist/Ratatat/",
182
+ "duration": 240,
183
+ "album": "LP4",
184
+ "isClean": false,
185
+ "albumUrl": "/artist/Ratatat/album/LP4/",
186
+ "shortUrl": "http://rd.io/x/QDaXKyyXSQ",
187
+ "albumArtist": "Ratatat",
188
+ "canStream": false,
189
+ "embedUrl": "http://rd.io/e/QDaXKyyXSQ",
190
+ "type": "t",
191
+ "price": "None",
192
+ "trackNum": 5,
193
+ "albumArtistKey": "r311065",
194
+ "key": "t7325723",
195
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
196
+ "canSample": true,
197
+ "name": "Bob Gandhi",
198
+ "isExplicit": false,
199
+ "artist": "Ratatat",
200
+ "url": "/artist/Ratatat/album/LP4/track/Bob_Gandhi/",
201
+ "albumKey": "a610475",
202
+ "artistKey": "r311065",
203
+ "canDownload": false,
204
+ "length": 1,
205
+ "canTether": false
206
+ },
207
+ {
208
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
209
+ "canDownloadAlbumOnly": false,
210
+ "artistUrl": "/artist/Ratatat/",
211
+ "duration": 222,
212
+ "album": "LP4",
213
+ "isClean": false,
214
+ "albumUrl": "/artist/Ratatat/album/LP4/",
215
+ "shortUrl": "http://rd.io/x/QDaXKyyXaA",
216
+ "albumArtist": "Ratatat",
217
+ "canStream": false,
218
+ "embedUrl": "http://rd.io/e/QDaXKyyXaA",
219
+ "type": "t",
220
+ "price": "None",
221
+ "trackNum": 6,
222
+ "albumArtistKey": "r311065",
223
+ "key": "t7325754",
224
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
225
+ "canSample": true,
226
+ "name": "Mandy",
227
+ "isExplicit": false,
228
+ "artist": "Ratatat",
229
+ "url": "/artist/Ratatat/album/LP4/track/Mandy/",
230
+ "albumKey": "a610475",
231
+ "artistKey": "r311065",
232
+ "canDownload": false,
233
+ "length": 1,
234
+ "canTether": false
235
+ },
236
+ {
237
+ "baseIcon": "album/d/5/f/0000000000095f5d/square-200.jpg",
238
+ "canDownloadAlbumOnly": false,
239
+ "artistUrl": "/artist/Ratatat/",
240
+ "duration": 300,
241
+ "album": "Classics",
242
+ "isClean": false,
243
+ "albumUrl": "/artist/Ratatat/album/Classics/",
244
+ "shortUrl": "http://rd.io/x/QDaXKzMuKw",
245
+ "albumArtist": "Ratatat",
246
+ "canStream": false,
247
+ "embedUrl": "http://rd.io/e/QDaXKzMuKw",
248
+ "type": "t",
249
+ "price": "None",
250
+ "trackNum": 1,
251
+ "albumArtistKey": "r311065",
252
+ "key": "t7369081",
253
+ "icon": "http://media.rd.io/album/d/5/f/0000000000095f5d/square-200.jpg",
254
+ "canSample": true,
255
+ "name": "Montanita",
256
+ "isExplicit": false,
257
+ "artist": "Ratatat",
258
+ "url": "/artist/Ratatat/album/Classics/track/Montanita/",
259
+ "albumKey": "a614237",
260
+ "artistKey": "r311065",
261
+ "canDownload": false,
262
+ "length": 1,
263
+ "canTether": false
264
+ },
265
+ {
266
+ "baseIcon": "album/b/a/0/00000000000950ab/square-200.jpg",
267
+ "canDownloadAlbumOnly": false,
268
+ "artistUrl": "/artist/Ratatat/",
269
+ "duration": 121,
270
+ "album": "LP4",
271
+ "isClean": false,
272
+ "albumUrl": "/artist/Ratatat/album/LP4/",
273
+ "shortUrl": "http://rd.io/x/QDaXKyyXBA",
274
+ "albumArtist": "Ratatat",
275
+ "canStream": false,
276
+ "embedUrl": "http://rd.io/e/QDaXKyyXBA",
277
+ "type": "t",
278
+ "price": "None",
279
+ "trackNum": 7,
280
+ "albumArtistKey": "r311065",
281
+ "key": "t7325782",
282
+ "icon": "http://media.rd.io/album/b/a/0/00000000000950ab/square-200.jpg",
283
+ "canSample": true,
284
+ "name": "Mahalo",
285
+ "isExplicit": false,
286
+ "artist": "Ratatat",
287
+ "url": "/artist/Ratatat/album/LP4/track/Mahalo/",
288
+ "albumKey": "a610475",
289
+ "artistKey": "r311065",
290
+ "canDownload": false,
291
+ "length": 1,
292
+ "canTether": false
293
+ }
294
+ ]
295
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "status" :"ok",
3
+ "result" : [
4
+ {
5
+ "baseIcon": "album/9/5/2/000000000004b259/square-200.jpg",
6
+ "canDownloadAlbumOnly": true,
7
+ "artistUrl": "/artist/Arkngthand/",
8
+ "duration": 340,
9
+ "album": "Songs of Ice and Fire",
10
+ "isClean": false,
11
+ "albumUrl": "/artist/Arkngthand/album/Songs_of_Ice_and_Fire_1/",
12
+ "shortUrl": "http://rd.io/x/QDaXK3laRQ",
13
+ "albumArtist": "Arkngthand",
14
+ "canStream": false,
15
+ "embedUrl": "http://rd.io/e/QDaXK3laRQ",
16
+ "type": "t",
17
+ "price": "0.99",
18
+ "trackNum": 5,
19
+ "albumArtistKey": "r350868",
20
+ "key": "t3802391",
21
+ "icon": "http://media.rd.io/album/9/5/2/000000000004b259/square-200.jpg",
22
+ "canSample": true,
23
+ "name": "A Game of Thrones",
24
+ "isExplicit": false,
25
+ "artist": "Arkngthand",
26
+ "url": "/artist/Arkngthand/album/Songs_of_Ice_and_Fire_1/track/A_Game_of_Thrones/",
27
+ "albumKey": "a307801",
28
+ "artistKey": "r350868",
29
+ "canDownload": true,
30
+ "length": 1,
31
+ "canTether": false
32
+ }
33
+ ]
34
+ }
@@ -0,0 +1,121 @@
1
+ {
2
+ "status" :"ok",
3
+ "result" : [
4
+ {
5
+ "baseIcon": "album/f/4/8/000000000002784f/square-200.jpg",
6
+ "canDownloadAlbumOnly": true,
7
+ "artistUrl": "/artist/James_Horner/",
8
+ "duration": 369,
9
+ "album": "AVATAR Music From The Motion Picture Music Composed and Conducted by James Horner [Deluxe]",
10
+ "isClean": false,
11
+ "albumUrl": "/artist/James_Horner/album/AVATAR_Music_From_The_Motion_Picture_Music_Composed_and_Conducted_by_James_Horner_(Deluxe)/",
12
+ "shortUrl": "http://rd.io/x/QDaXK17w0A",
13
+ "albumArtist": "James Horner",
14
+ "canStream": false,
15
+ "embedUrl": "http://rd.io/e/QDaXK17w0A",
16
+ "type": "t",
17
+ "price": "None",
18
+ "trackNum": 1,
19
+ "albumArtistKey": "r35187",
20
+ "key": "t1945474",
21
+ "icon": "http://media.rd.io/album/f/4/8/000000000002784f/square-200.jpg",
22
+ "canSample": true,
23
+ "name": "\"You don't dream in cryo. ....\"",
24
+ "isExplicit": false,
25
+ "artist": "James Horner",
26
+ "url": "/artist/James_Horner/album/AVATAR_Music_From_The_Motion_Picture_Music_Composed_and_Conducted_by_James_Horner_(Deluxe)/track/%22You_don%27t_dream_in_cryo._....%22/",
27
+ "albumKey": "a161871",
28
+ "artistKey": "r35187",
29
+ "canDownload": false,
30
+ "length": 1,
31
+ "canTether": false
32
+ },
33
+ {
34
+ "baseIcon": "album/3/5/6/0000000000045653/square-200.jpg",
35
+ "canDownloadAlbumOnly": false,
36
+ "artistUrl": "/artist/Eminem/",
37
+ "duration": 241,
38
+ "album": "Recovery",
39
+ "isClean": false,
40
+ "albumUrl": "/artist/Eminem/album/Recovery_1/",
41
+ "shortUrl": "http://rd.io/x/QDaXK3Z4jA",
42
+ "albumArtist": "Eminem",
43
+ "canStream": false,
44
+ "embedUrl": "http://rd.io/e/QDaXK3Z4jA",
45
+ "type": "t",
46
+ "price": "1.30",
47
+ "trackNum": 12,
48
+ "albumArtistKey": "r259016",
49
+ "key": "t3483614",
50
+ "icon": "http://media.rd.io/album/3/5/6/0000000000045653/square-200.jpg",
51
+ "canSample": true,
52
+ "name": "25 To Life",
53
+ "isExplicit": true,
54
+ "artist": "Eminem",
55
+ "url": "/artist/Eminem/album/Recovery_1/track/25_To_Life/",
56
+ "albumKey": "a284243",
57
+ "artistKey": "r259016",
58
+ "canDownload": false,
59
+ "length": 1,
60
+ "canTether": false
61
+ },
62
+ {
63
+ "baseIcon": "album/8/f/9/00000000000279f8/square-200.jpg",
64
+ "canDownloadAlbumOnly": true,
65
+ "artistUrl": "/artist/B.o.B/",
66
+ "duration": 203,
67
+ "album": "B.o.B Presents: The Adventures of Bobby Ray",
68
+ "isClean": false,
69
+ "albumUrl": "/artist/B.o.B/album/B.o.B_Presents_The_Adventures_of_Bobby_Ray_1/",
70
+ "shortUrl": "http://rd.io/x/QDaXK16a7A",
71
+ "albumArtist": "B.o.B",
72
+ "canStream": false,
73
+ "embedUrl": "http://rd.io/e/QDaXK16a7A",
74
+ "type": "t",
75
+ "price": "1.29",
76
+ "trackNum": 11,
77
+ "albumArtistKey": "r87339",
78
+ "key": "t1951166",
79
+ "icon": "http://media.rd.io/album/8/f/9/00000000000279f8/square-200.jpg",
80
+ "canSample": true,
81
+ "name": "5th Dimension [feat Ricco Barrino]",
82
+ "isExplicit": false,
83
+ "artist": "B.o.B",
84
+ "url": "/artist/B.o.B/album/B.o.B_Presents_The_Adventures_of_Bobby_Ray_1/track/5th_Dimension_%5Bfeat_Ricco_Barrino%5D/",
85
+ "albumKey": "a162296",
86
+ "artistKey": "r87339",
87
+ "canDownload": true,
88
+ "length": 1,
89
+ "canTether": false
90
+ },
91
+ {
92
+ "baseIcon": "album/0/4/8/0000000000038840/square-200.jpg",
93
+ "canDownloadAlbumOnly": true,
94
+ "artistUrl": "/artist/Yoav/",
95
+ "duration": 335,
96
+ "album": "Charmed And Strange",
97
+ "isClean": false,
98
+ "albumUrl": "/artist/Yoav/album/Charmed_And_Strange/",
99
+ "shortUrl": "http://rd.io/x/QDaXK2mKhw",
100
+ "albumArtist": "Yoav",
101
+ "canStream": false,
102
+ "embedUrl": "http://rd.io/e/QDaXK2mKhw",
103
+ "type": "t",
104
+ "price": "1.00",
105
+ "trackNum": 1,
106
+ "albumArtistKey": "r316321",
107
+ "key": "t2807253",
108
+ "icon": "http://media.rd.io/album/0/4/8/0000000000038840/square-200.jpg",
109
+ "canSample": true,
110
+ "name": "Adore Adore",
111
+ "isExplicit": false,
112
+ "artist": "Yoav",
113
+ "url": "/artist/Yoav/album/Charmed_And_Strange/track/Adore_Adore/",
114
+ "albumKey": "a231488",
115
+ "artistKey": "r316321",
116
+ "canDownload": true,
117
+ "length": 1,
118
+ "canTether": false
119
+ }
120
+ ]
121
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "status" :"ok",
3
+ "result" : "true"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "status" :"ok",
3
+ "result" : "true"
4
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ "status" :"ok",
3
+ "result" : "true"
4
+ }