ronnie 0.7.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. data/.gitignore +22 -0
  2. data/.rspec +2 -0
  3. data/.travis.yml +3 -0
  4. data/Gemfile +3 -0
  5. data/LICENSE +22 -0
  6. data/README.md +163 -0
  7. data/Rakefile +23 -0
  8. data/lib/faraday/response/raise_dio_error.rb +46 -0
  9. data/lib/ronnie/authentication.rb +33 -0
  10. data/lib/ronnie/client/albums.rb +50 -0
  11. data/lib/ronnie/client/artists.rb +23 -0
  12. data/lib/ronnie/client/collections/albums.rb +9 -0
  13. data/lib/ronnie/client/collections/artists.rb +9 -0
  14. data/lib/ronnie/client/collections.rb +85 -0
  15. data/lib/ronnie/client/playlists.rb +159 -0
  16. data/lib/ronnie/client/tracks.rb +32 -0
  17. data/lib/ronnie/client/users.rb +93 -0
  18. data/lib/ronnie/client.rb +39 -0
  19. data/lib/ronnie/configuration.rb +71 -0
  20. data/lib/ronnie/connection.rb +24 -0
  21. data/lib/ronnie/error.rb +34 -0
  22. data/lib/ronnie/request.rb +17 -0
  23. data/lib/ronnie/version.rb +3 -0
  24. data/lib/ronnie.rb +27 -0
  25. data/ronnie.gemspec +35 -0
  26. data/spec/faraday/response_spec.rb +0 -0
  27. data/spec/fixtures/cassettes/Ronnie_Client_Users/_add_playlists_to_collection/Add_Playlists_to_Collection/.yml +55 -0
  28. data/spec/fixtures/cassettes/Ronnie_Client_Users/_add_track_to_playlist/Add_Track_to_Playlist/.yml +61 -0
  29. data/spec/fixtures/cassettes/Ronnie_Client_Users/_add_tracks_to_collection/Add_Tracks_to_Collection/.yml +55 -0
  30. data/spec/fixtures/cassettes/Ronnie_Client_Users/_add_tracks_to_playlist/Add_Tracks_to_Playlist/.yml +61 -0
  31. data/spec/fixtures/cassettes/Ronnie_Client_Users/_album/Retrieve_Album/.yml +64 -0
  32. data/spec/fixtures/cassettes/Ronnie_Client_Users/_create_playlist/Create_a_Playlist/.yml +61 -0
  33. data/spec/fixtures/cassettes/Ronnie_Client_Users/_delete_playlist/Delete_a_Playlist/.yml +55 -0
  34. data/spec/fixtures/cassettes/Ronnie_Client_Users/_disable_collaboration/Disable_Collaboration/.yml +55 -0
  35. data/spec/fixtures/cassettes/Ronnie_Client_Users/_enable_public_collaboration/Enable_Public_Collaboration/.yml +55 -0
  36. data/spec/fixtures/cassettes/Ronnie_Client_Users/_enable_restricted_collaboration/Enable_Restricted_Collaboration/.yml +55 -0
  37. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_albums_by_artist/Find_Albums_by_Artist/.yml +260 -0
  38. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_albums_by_label/Find_Albums_by_Label/.yml +245 -0
  39. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_albums_by_upc/Find_Albums_by_UPC/.yml +55 -0
  40. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_artists_by_label/Find_Artists_by_Label/.yml +96 -0
  41. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_tracks_by_artist/Find_Tracks_by_Artist/.yml +156 -0
  42. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_tracks_by_isrc/Find_Tracks_by_ISRC/.yml +145 -0
  43. data/spec/fixtures/cassettes/Ronnie_Client_Users/_find_user/Find_User_by_E-mail_Address/.yml +58 -0
  44. data/spec/fixtures/cassettes/Ronnie_Client_Users/_follow/Follow_a_User/.yml +55 -0
  45. data/spec/fixtures/cassettes/Ronnie_Client_Users/_followers/Retrieve_Followers_of_Authorized_User/.yml +144 -0
  46. data/spec/fixtures/cassettes/Ronnie_Client_Users/_followers/Retrieve_Followers_of_a_User/.yml +58 -0
  47. data/spec/fixtures/cassettes/Ronnie_Client_Users/_following/Retrieve_Users_Following_Another_User/.yml +69 -0
  48. data/spec/fixtures/cassettes/Ronnie_Client_Users/_following/Retrieve_Users_Following_Authorized_User/.yml +144 -0
  49. data/spec/fixtures/cassettes/Ronnie_Client_Users/_follows_/Authorized_User_is_Following_a_User/.yml +144 -0
  50. data/spec/fixtures/cassettes/Ronnie_Client_Users/_playlist/Retrieve_Playlist/.yml +61 -0
  51. data/spec/fixtures/cassettes/Ronnie_Client_Users/_playlists/Retrieve_Playlists_by_Authorized_User/.yml +282 -0
  52. data/spec/fixtures/cassettes/Ronnie_Client_Users/_playlists/Retrieve_Playlists_by_User/.yml +67 -0
  53. data/spec/fixtures/cassettes/Ronnie_Client_Users/_playlists/Retrieve_Playlists_by_a_User/.yml +67 -0
  54. data/spec/fixtures/cassettes/Ronnie_Client_Users/_remove_playlists_from_collection/Remove_Playlists_from_Collection/.yml +55 -0
  55. data/spec/fixtures/cassettes/Ronnie_Client_Users/_remove_tracks_from_collection/Remove_Tracks_from_Collection/.yml +55 -0
  56. data/spec/fixtures/cassettes/Ronnie_Client_Users/_remove_tracks_from_playlist/Remove_Tracks_from_Playlist/.yml +61 -0
  57. data/spec/fixtures/cassettes/Ronnie_Client_Users/_search_albums/Search_Albums/.yml +95 -0
  58. data/spec/fixtures/cassettes/Ronnie_Client_Users/_search_artists/Search_Artists/.yml +66 -0
  59. data/spec/fixtures/cassettes/Ronnie_Client_Users/_search_playlists/Search_Playlists/.yml +110 -0
  60. data/spec/fixtures/cassettes/Ronnie_Client_Users/_search_tracks/Search_Tracks/.yml +65 -0
  61. data/spec/fixtures/cassettes/Ronnie_Client_Users/_search_users/Search_Users/.yml +64 -0
  62. data/spec/fixtures/cassettes/Ronnie_Client_Users/_sync_playlists/Sync_Playlists/.yml +55 -0
  63. data/spec/fixtures/cassettes/Ronnie_Client_Users/_sync_tracks/Sync_Tracks/.yml +55 -0
  64. data/spec/fixtures/cassettes/Ronnie_Client_Users/_unfollow/Unfollow_a_User/.yml +55 -0
  65. data/spec/fixtures/cassettes/Ronnie_Client_Users/_unsync_playlists/Unsync_Playlists/.yml +55 -0
  66. data/spec/fixtures/cassettes/Ronnie_Client_Users/_unsync_tracks/Unsync_Tracks/.yml +55 -0
  67. data/spec/fixtures/cassettes/Ronnie_Client_Users/_update_playlist/Update_Playlist/.yml +55 -0
  68. data/spec/fixtures/cassettes/Ronnie_Client_Users/_user/Retrieve_Authorized_User/.yml +58 -0
  69. data/spec/fixtures/cassettes/Ronnie_Client_Users/_user/Retrieve_User/.yml +58 -0
  70. data/spec/ronnie/client/albums_spec.rb +52 -0
  71. data/spec/ronnie/client/artists_spec.rb +28 -0
  72. data/spec/ronnie/client/collections_spec.rb +76 -0
  73. data/spec/ronnie/client/playlists_spec.rb +120 -0
  74. data/spec/ronnie/client/tracks_spec.rb +38 -0
  75. data/spec/ronnie/client/users_spec.rb +94 -0
  76. data/spec/ronnie/client_spec.rb +23 -0
  77. data/spec/ronnie_spec.rb +20 -0
  78. data/spec/spec_helper.rb +19 -0
  79. metadata +401 -0
@@ -0,0 +1,61 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.rdio.com/1/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: method=createPlaylist&name=example+name&description=example+description&tracks=t20680151%2C+t20680150
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="ub9ebmvf7aee3pxcms9e5mh3", oauth_nonce="799b7926cf77219cd8bfe108e681bba6",
12
+ oauth_signature="uE%2FNpoGEIHItxwcn9IMw2P2yLVw%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1350886461", oauth_token="ute6gf7jk4y5734hx42uxspfnhdkt42qt8habah6tkyvx4ay2xvhpt5faa2ddqc6",
14
+ oauth_version="1.0"
15
+ Content-Type:
16
+ - application/x-www-form-urlencoded
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ X-Mashery-Responder:
27
+ - mashery-web4-lax.mashery.com
28
+ Content-Type:
29
+ - application/json
30
+ Connection:
31
+ - keep-alive
32
+ Content-Language:
33
+ - en
34
+ Vary:
35
+ - Accept-Language, Cookie
36
+ Cache-Control:
37
+ - no-cache
38
+ Access-Control-Allow-Origin:
39
+ - ! '*'
40
+ X-Version:
41
+ - '720'
42
+ Accept-Ranges:
43
+ - bytes
44
+ Content-Length:
45
+ - '552'
46
+ Date:
47
+ - Mon, 22 Oct 2012 06:14:16 GMT
48
+ Server:
49
+ - Mashery Proxy
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ! '{"status": "ok", "result": {"key": "p1431248", "ownerKey": "s112675",
53
+ "name": "example name", "url": "/people/allengoodman/playlists/1431248/example_name/",
54
+ "ownerIcon": "user/3/2/8/000000000001b823/1/square-100.jpg", "owner": "Allen
55
+ Goodman", "lastUpdated": 1350911656.0, "shortUrl": "http://rd.io/x/QV76fDNKhJE",
56
+ "length": 2, "baseIcon": "album/9/d/a/00000000001d3ad9/1/square-200.jpg",
57
+ "ownerUrl": "/people/allengoodman/", "embedUrl": "https://rd.io/e/QV76fDNKhJE",
58
+ "type": "p", "icon": "http://m.rdio.com/_is/?aid=1915590-1,1915609-1&w=200&h=200"}}'
59
+ http_version:
60
+ recorded_at: Mon, 22 Oct 2012 06:14:22 GMT
61
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.rdio.com/1/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: method=deletePlaylist&playlist=p1431248
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="ub9ebmvf7aee3pxcms9e5mh3", oauth_nonce="b9beae8a2a27814c9d86d35fac94b6fc",
12
+ oauth_signature="MYrx%2Fvp9e565vO5UGiVdepsKdbA%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1350886671", oauth_token="ute6gf7jk4y5734hx42uxspfnhdkt42qt8habah6tkyvx4ay2xvhpt5faa2ddqc6",
14
+ oauth_version="1.0"
15
+ Content-Type:
16
+ - application/x-www-form-urlencoded
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ X-Mashery-Responder:
27
+ - mashery-web3-lax.mashery.com
28
+ Content-Type:
29
+ - application/json
30
+ Connection:
31
+ - keep-alive
32
+ Content-Language:
33
+ - en
34
+ Vary:
35
+ - Accept-Language, Cookie
36
+ Cache-Control:
37
+ - no-cache
38
+ Access-Control-Allow-Origin:
39
+ - ! '*'
40
+ X-Version:
41
+ - '720'
42
+ Accept-Ranges:
43
+ - bytes
44
+ Content-Length:
45
+ - '32'
46
+ Date:
47
+ - Mon, 22 Oct 2012 06:17:45 GMT
48
+ Server:
49
+ - Mashery Proxy
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ! '{"status": "ok", "result": true}'
53
+ http_version:
54
+ recorded_at: Mon, 22 Oct 2012 06:17:51 GMT
55
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.rdio.com/1/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: method=setPlaylistCollaborationMode&playlist=p1429320&mode=0
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="ub9ebmvf7aee3pxcms9e5mh3", oauth_nonce="17cd34fbf6a317c0dd0ce3413a74a357",
12
+ oauth_signature="JP37oV80LIabhogM9cNkBzzj24w%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1350946658", oauth_token="ute6gf7jk4y5734hx42uxspfnhdkt42qt8habah6tkyvx4ay2xvhpt5faa2ddqc6",
14
+ oauth_version="1.0"
15
+ Content-Type:
16
+ - application/x-www-form-urlencoded
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ X-Mashery-Responder:
27
+ - mashery-web1-lax.mashery.com
28
+ Content-Type:
29
+ - application/json
30
+ Connection:
31
+ - keep-alive
32
+ Content-Language:
33
+ - en
34
+ Vary:
35
+ - Accept-Language, Cookie
36
+ Cache-Control:
37
+ - no-cache
38
+ Access-Control-Allow-Origin:
39
+ - ! '*'
40
+ X-Version:
41
+ - '720'
42
+ Accept-Ranges:
43
+ - bytes
44
+ Content-Length:
45
+ - '32'
46
+ Date:
47
+ - Mon, 22 Oct 2012 22:57:31 GMT
48
+ Server:
49
+ - Mashery Proxy
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ! '{"status": "ok", "result": true}'
53
+ http_version:
54
+ recorded_at: Mon, 22 Oct 2012 22:57:38 GMT
55
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.rdio.com/1/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: method=setPlaylistCollaborationMode&playlist=p1429320&mode=1
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="ub9ebmvf7aee3pxcms9e5mh3", oauth_nonce="a34717010d1ee93b07624be856615050",
12
+ oauth_signature="hK%2BrgaNlpMUknpQUUx0lQEhEpsU%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1350946442", oauth_token="ute6gf7jk4y5734hx42uxspfnhdkt42qt8habah6tkyvx4ay2xvhpt5faa2ddqc6",
14
+ oauth_version="1.0"
15
+ Content-Type:
16
+ - application/x-www-form-urlencoded
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ X-Mashery-Responder:
27
+ - mashery-web1-lax.mashery.com
28
+ Content-Type:
29
+ - application/json
30
+ Connection:
31
+ - keep-alive
32
+ Content-Language:
33
+ - en
34
+ Vary:
35
+ - Accept-Language, Cookie
36
+ Cache-Control:
37
+ - no-cache
38
+ Access-Control-Allow-Origin:
39
+ - ! '*'
40
+ X-Version:
41
+ - '720'
42
+ Accept-Ranges:
43
+ - bytes
44
+ Content-Length:
45
+ - '32'
46
+ Date:
47
+ - Mon, 22 Oct 2012 22:53:55 GMT
48
+ Server:
49
+ - Mashery Proxy
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ! '{"status": "ok", "result": true}'
53
+ http_version:
54
+ recorded_at: Mon, 22 Oct 2012 22:54:03 GMT
55
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,55 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.rdio.com/1/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: method=setPlaylistCollaborationMode&playlist=p1429320&mode=2
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="ub9ebmvf7aee3pxcms9e5mh3", oauth_nonce="1db0b5aa376ba2e67eb6fe90a8f73ddc",
12
+ oauth_signature="xLZ5u146yc8RrUeAU1yuVi5N3jw%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1350946575", oauth_token="ute6gf7jk4y5734hx42uxspfnhdkt42qt8habah6tkyvx4ay2xvhpt5faa2ddqc6",
14
+ oauth_version="1.0"
15
+ Content-Type:
16
+ - application/x-www-form-urlencoded
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ X-Mashery-Responder:
27
+ - mashery-web2-lax.mashery.com
28
+ Content-Type:
29
+ - application/json
30
+ Connection:
31
+ - keep-alive
32
+ Content-Language:
33
+ - en
34
+ Vary:
35
+ - Accept-Language, Cookie
36
+ Cache-Control:
37
+ - no-cache
38
+ Access-Control-Allow-Origin:
39
+ - ! '*'
40
+ X-Version:
41
+ - '720'
42
+ Accept-Ranges:
43
+ - bytes
44
+ Content-Length:
45
+ - '32'
46
+ Date:
47
+ - Mon, 22 Oct 2012 22:56:07 GMT
48
+ Server:
49
+ - Mashery Proxy
50
+ body:
51
+ encoding: US-ASCII
52
+ string: ! '{"status": "ok", "result": true}'
53
+ http_version:
54
+ recorded_at: Mon, 22 Oct 2012 22:56:15 GMT
55
+ recorded_with: VCR 2.2.5
@@ -0,0 +1,260 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: post
5
+ uri: http://api.rdio.com/1/
6
+ body:
7
+ encoding: US-ASCII
8
+ string: method=getAlbumsForArtist&artist=r235282
9
+ headers:
10
+ Authorization:
11
+ - OAuth oauth_consumer_key="ub9ebmvf7aee3pxcms9e5mh3", oauth_nonce="0bd612423efa9c0e54bea18d45e5f5f5",
12
+ oauth_signature="Y%2FeWW1cEGeytGoUSZlycTtbAqyI%3D", oauth_signature_method="HMAC-SHA1",
13
+ oauth_timestamp="1350887981", oauth_token="ute6gf7jk4y5734hx42uxspfnhdkt42qt8habah6tkyvx4ay2xvhpt5faa2ddqc6",
14
+ oauth_version="1.0"
15
+ Content-Type:
16
+ - application/x-www-form-urlencoded
17
+ Accept:
18
+ - ! '*/*'
19
+ User-Agent:
20
+ - Ruby
21
+ response:
22
+ status:
23
+ code: 200
24
+ message: OK
25
+ headers:
26
+ X-Mashery-Responder:
27
+ - mashery-web4-lax.mashery.com
28
+ Content-Type:
29
+ - application/json
30
+ Connection:
31
+ - keep-alive
32
+ Vary:
33
+ - Accept-Encoding
34
+ - Accept-Language, Cookie
35
+ Content-Language:
36
+ - en
37
+ Cache-Control:
38
+ - no-cache
39
+ Access-Control-Allow-Origin:
40
+ - ! '*'
41
+ X-Version:
42
+ - '720'
43
+ Accept-Ranges:
44
+ - bytes
45
+ Content-Length:
46
+ - '17061'
47
+ Date:
48
+ - Mon, 22 Oct 2012 06:39:35 GMT
49
+ Server:
50
+ - Mashery Proxy
51
+ body:
52
+ encoding: US-ASCII
53
+ string: ! '{"status": "ok", "result": [{"baseIcon": "album/6/f/0/00000000000950f6/square-200.jpg",
54
+ "releaseDate": "1990-09-10", "artistUrl": "/artist/Cocteau_Twins/", "duration":
55
+ 2241, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWArc", "canStream":
56
+ true, "embedUrl": "https://rd.io/e/QV76fCJWArc", "type": "a", "price": "None",
57
+ "key": "a610550", "icon": "http://cdn3.rd.io/album/6/f/0/00000000000950f6/square-200.jpg",
58
+ "canSample": true, "name": "Heaven Or Las Vegas", "isExplicit": false, "artist":
59
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Heaven_Or_Las_Vegas/",
60
+ "artistKey": "r235282", "length": 10, "trackKeys": ["t7326536", "t7326557",
61
+ "t7326576", "t7326602", "t7326627", "t7326661", "t7326684", "t7326704", "t7326734",
62
+ "t7326760"], "canTether": true, "displayDate": "Sep 10, 1990"}, {"baseIcon":
63
+ "album/8/2/f/0000000000097f28/square-200.jpg", "releaseDate": "1991-09-03",
64
+ "artistUrl": "/artist/Cocteau_Twins/", "duration": 2492, "isClean": false,
65
+ "shortUrl": "http://rd.io/x/QV76fCJWLWk", "canStream": true, "embedUrl": "https://rd.io/e/QV76fCJWLWk",
66
+ "type": "a", "price": "None", "key": "a622376", "icon": "http://cdn3.rd.io/album/8/2/f/0000000000097f28/square-200.jpg",
67
+ "canSample": true, "name": "Treasure", "isExplicit": false, "artist": "Cocteau
68
+ Twins", "url": "/artist/Cocteau_Twins/album/Treasure/", "artistKey": "r235282",
69
+ "length": 10, "trackKeys": ["t7450545", "t7450547", "t7450549", "t7450554",
70
+ "t7450557", "t7450562", "t7450566", "t7450570", "t7450574", "t7450578"], "canTether":
71
+ true, "displayDate": "Sep 3, 1991"}, {"baseIcon": "album/a/e/d/000000000002cdea/square-200.jpg",
72
+ "releaseDate": "1999-10-12", "artistUrl": "/artist/Cocteau_Twins/", "duration":
73
+ 6669, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJdn6s", "canStream":
74
+ true, "embedUrl": "https://rd.io/e/QV76fCJdn6s", "type": "a", "price": "13.99",
75
+ "key": "a183786", "icon": "http://cdn3.rd.io/album/a/e/d/000000000002cdea/square-200.jpg",
76
+ "canSample": true, "name": "BBC Sessions", "isExplicit": false, "artist":
77
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/BBC_Sessions/", "artistKey":
78
+ "r235282", "length": 30, "trackKeys": ["t2214902", "t2214961", "t2215029",
79
+ "t2215088", "t2215126", "t2215206", "t2215261", "t2215324", "t2215377", "t2215458",
80
+ "t2215492", "t2215564", "t2215625", "t2215689", "t2215749", "t2215801", "t2215869",
81
+ "t2215946", "t2216006", "t2216078", "t2216142", "t2216196", "t2216254", "t2216325",
82
+ "t2216392", "t2216436", "t2216503", "t2216573", "t2216656", "t2216708"], "canTether":
83
+ true, "displayDate": "Oct 12, 1999"}, {"baseIcon": "album/f/a/9/000000000008f9af/square-200.jpg",
84
+ "releaseDate": "1993-11-01", "artistUrl": "/artist/Cocteau_Twins/", "duration":
85
+ 2483, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJXq-4", "canStream":
86
+ true, "embedUrl": "https://rd.io/e/QV76fCJXq-4", "type": "a", "price": "9.90",
87
+ "key": "a588207", "icon": "http://cdn3.rd.io/album/f/a/9/000000000008f9af/square-200.jpg",
88
+ "canSample": true, "name": "Four-Calendar Cafe", "isExplicit": false, "artist":
89
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Four-Calendar_Cafe/",
90
+ "artistKey": "r235282", "length": 10, "trackKeys": ["t7043219", "t7043237",
91
+ "t7043255", "t7043273", "t7043297", "t7043315", "t7043336", "t7043355", "t7043370",
92
+ "t7043385"], "canTether": true, "displayDate": "Nov 1, 1993"}, {"baseIcon":
93
+ "album/c/b/4/00000000000604bc/square-200.jpg", "releaseDate": "2006-03-21",
94
+ "artistUrl": "/artist/Cocteau_Twins/", "duration": 6401, "isClean": false,
95
+ "shortUrl": "http://rd.io/x/QV76fCJZVv0", "canStream": true, "embedUrl": "https://rd.io/e/QV76fCJZVv0",
96
+ "type": "a", "price": "18.99", "key": "a394428", "icon": "http://cdn3.rd.io/album/c/b/4/00000000000604bc/square-200.jpg",
97
+ "canSample": true, "name": "Lullabies To Violaine - Volume 2", "isExplicit":
98
+ false, "artist": "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Lullabies_To_Violaine_-_Volume_2/",
99
+ "artistKey": "r235282", "length": 27, "trackKeys": ["t4840135", "t4840155",
100
+ "t4840172", "t4840187", "t4840202", "t4840221", "t4840241", "t4840256", "t4840277",
101
+ "t4840296", "t4840306", "t4840323", "t4840347", "t4840370", "t4840396", "t4840424",
102
+ "t4840446", "t4840472", "t4840490", "t4840507", "t4840527", "t4840546", "t4840565",
103
+ "t4840583", "t4840607", "t4840627", "t4840645"], "canTether": true, "displayDate":
104
+ "Mar 21, 2006"}, {"baseIcon": "album/a/3/f/0000000000095f3a/square-200.jpg",
105
+ "releaseDate": "1988-09-19", "artistUrl": "/artist/Cocteau_Twins/", "duration":
106
+ 2094, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWDXs", "canStream":
107
+ true, "embedUrl": "https://rd.io/e/QV76fCJWDXs", "type": "a", "price": "None",
108
+ "key": "a614202", "icon": "http://cdn3.rd.io/album/a/3/f/0000000000095f3a/square-200.jpg",
109
+ "canSample": true, "name": "Blue Bell Knoll (Remastered) (Remastered)", "isExplicit":
110
+ false, "artist": "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Blue_Bell_Knoll_(Remastered)_(Remastered)/",
111
+ "artistKey": "r235282", "length": 10, "trackKeys": ["t7368794", "t7368795",
112
+ "t7368797", "t7368798", "t7368800", "t7368802", "t7368803", "t7368805", "t7368806",
113
+ "t7368808"], "canTether": true, "displayDate": "Sep 19, 1988"}, {"baseIcon":
114
+ "album/d/d/d/0000000000095ddd/square-200.jpg", "releaseDate": "1985-11-01",
115
+ "artistUrl": "/artist/Cocteau_Twins/", "duration": 2403, "isClean": false,
116
+ "shortUrl": "http://rd.io/x/QV76fCJWD5w", "canStream": true, "embedUrl": "https://rd.io/e/QV76fCJWD5w",
117
+ "type": "a", "price": "None", "key": "a613853", "icon": "http://cdn3.rd.io/album/d/d/d/0000000000095ddd/square-200.jpg",
118
+ "canSample": true, "name": "The Pink Opaque", "isExplicit": false, "artist":
119
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/The_Pink_Opaque/", "artistKey":
120
+ "r235282", "length": 10, "trackKeys": ["t7365333", "t7365335", "t7365338",
121
+ "t7365340", "t7365342", "t7365343", "t7365345", "t7365347", "t7365349", "t7365352"],
122
+ "canTether": true, "displayDate": "Nov 1, 1985"}, {"baseIcon": "album/9/b/4/00000000000604b9/square-200.jpg",
123
+ "releaseDate": "2007-01-09", "artistUrl": "/artist/Cocteau_Twins/", "duration":
124
+ 2586, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJZVvg", "canStream":
125
+ true, "embedUrl": "https://rd.io/e/QV76fCJZVvg", "type": "a", "price": "9.90",
126
+ "key": "a394425", "icon": "http://cdn3.rd.io/album/9/b/4/00000000000604b9/square-200.jpg",
127
+ "canSample": true, "name": "Milk & Kisses", "isExplicit": false, "artist":
128
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Milk__Kisses/", "artistKey":
129
+ "r235282", "length": 10, "trackKeys": ["t4840094", "t4840112", "t4840129",
130
+ "t4840144", "t4840167", "t4840191", "t4840211", "t4840227", "t4840249", "t4840270"],
131
+ "canTether": true, "displayDate": "Jan 9, 2007"}, {"baseIcon": "album/f/9/0/000000000009509f/square-200.jpg",
132
+ "releaseDate": "1991-09-03", "artistUrl": "/artist/Cocteau_Twins/", "duration":
133
+ 1971, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWAt4", "canStream":
134
+ true, "embedUrl": "https://rd.io/e/QV76fCJWAt4", "type": "a", "price": "None",
135
+ "key": "a610463", "icon": "http://cdn3.rd.io/album/f/9/0/000000000009509f/square-200.jpg",
136
+ "canSample": true, "name": "Victorialand", "isExplicit": false, "artist":
137
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Victorialand/", "artistKey":
138
+ "r235282", "length": 9, "trackKeys": ["t7325500", "t7325544", "t7325566",
139
+ "t7325587", "t7325614", "t7325633", "t7325655", "t7325686", "t7325717"], "canTether":
140
+ true, "displayDate": "Sep 3, 1991"}, {"baseIcon": "album/c/2/1/000000000009512c/square-200.jpg",
141
+ "releaseDate": "1991-09-03", "artistUrl": "/artist/Cocteau_Twins/", "duration":
142
+ 2222, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWA20", "canStream":
143
+ true, "embedUrl": "https://rd.io/e/QV76fCJWA20", "type": "a", "price": "None",
144
+ "key": "a610604", "icon": "http://cdn3.rd.io/album/c/2/1/000000000009512c/square-200.jpg",
145
+ "canSample": true, "name": "Head Over Heels", "isExplicit": false, "artist":
146
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Head_Over_Heels/", "artistKey":
147
+ "r235282", "length": 10, "trackKeys": ["t7327167", "t7327187", "t7327215",
148
+ "t7327238", "t7327259", "t7327278", "t7327300", "t7327327", "t7327339", "t7327363"],
149
+ "canTether": true, "displayDate": "Sep 3, 1991"}, {"baseIcon": "album/3/6/0/0000000000095063/square-200.jpg",
150
+ "releaseDate": "2006-02-13", "artistUrl": "/artist/Cocteau_Twins/", "duration":
151
+ 7424, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWAiI", "canStream":
152
+ true, "embedUrl": "https://rd.io/e/QV76fCJWAiI", "type": "a", "price": "None",
153
+ "key": "a610403", "icon": "http://cdn3.rd.io/album/3/6/0/0000000000095063/square-200.jpg",
154
+ "canSample": true, "name": "Lullabies To Violaine (Volume One)", "isExplicit":
155
+ false, "artist": "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Lullabies_To_Violaine_(Volume_One)/",
156
+ "artistKey": "r235282", "length": 32, "trackKeys": ["t7324891", "t7324920",
157
+ "t7324953", "t7325007", "t7325033", "t7325055", "t7325079", "t7325104", "t7325130",
158
+ "t7325157", "t7325184", "t7325220", "t7325261", "t7325291", "t7325321", "t7325343",
159
+ "t7325370", "t7325393", "t7325420", "t7325450", "t7325480", "t7325503", "t7325535",
160
+ "t7325559", "t7325600", "t7325622", "t7325648", "t7325678", "t7325705", "t7325731",
161
+ "t7325755", "t7325779"], "canTether": true, "displayDate": "Feb 13, 2006"},
162
+ {"baseIcon": "album/1/5/3/0000000000095351/square-200.jpg", "releaseDate":
163
+ "1991-09-03", "artistUrl": "/artist/Cocteau_Twins/", "duration": 2121, "isClean":
164
+ false, "shortUrl": "http://rd.io/x/QV76fCJWARA", "canStream": true, "embedUrl":
165
+ "https://rd.io/e/QV76fCJWARA", "type": "a", "price": "None", "key": "a611153",
166
+ "icon": "http://cdn3.rd.io/album/1/5/3/0000000000095351/square-200.jpg", "canSample":
167
+ true, "name": "Garlands", "isExplicit": false, "artist": "Cocteau Twins",
168
+ "url": "/artist/Cocteau_Twins/album/Garlands/", "artistKey": "r235282", "length":
169
+ 8, "trackKeys": ["t7335419", "t7335429", "t7335436", "t7335443", "t7335450",
170
+ "t7335461", "t7335471", "t7335480"], "canTether": true, "displayDate": "Sep 3,
171
+ 1991"}, {"baseIcon": "album/8/d/b/0000000000095bd8/square-200.jpg", "releaseDate":
172
+ "2000-10-16", "artistUrl": "/artist/Cocteau_Twins/", "duration": 4334, "isClean":
173
+ false, "shortUrl": "http://rd.io/x/QV76fCJWCZk", "canStream": true, "embedUrl":
174
+ "https://rd.io/e/QV76fCJWCZk", "type": "a", "price": "None", "key": "a613336",
175
+ "icon": "http://cdn3.rd.io/album/8/d/b/0000000000095bd8/square-200.jpg", "canSample":
176
+ true, "name": "Stars And Topsoil - A Collection 1982-1990", "isExplicit":
177
+ false, "artist": "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Stars_And_Topsoil_-_A_Collection_1982-1990/",
178
+ "artistKey": "r235282", "length": 18, "trackKeys": ["t7358867", "t7358872",
179
+ "t7358876", "t7358879", "t7358880", "t7358884", "t7358888", "t7358891", "t7358894",
180
+ "t7358898", "t7358901", "t7358903", "t7358906", "t7358909", "t7358910", "t7358913",
181
+ "t7358916", "t7358919"], "canTether": true, "displayDate": "Oct 16, 2000"},
182
+ {"baseIcon": "album/7/c/e/0000000000095ec7/square-200.jpg", "releaseDate":
183
+ "1986-09-01", "artistUrl": "/artist/Cocteau_Twins/", "duration": 818, "isClean":
184
+ false, "shortUrl": "http://rd.io/x/QV76fCJWDIY", "canStream": true, "embedUrl":
185
+ "https://rd.io/e/QV76fCJWDIY", "type": "a", "price": "None", "key": "a614087",
186
+ "icon": "http://cdn3.rd.io/album/7/c/e/0000000000095ec7/square-200.jpg", "canSample":
187
+ true, "name": "Love\u2019s Easy Tears", "isExplicit": false, "artist": "Cocteau
188
+ Twins", "url": "/artist/Cocteau_Twins/album/Love%E2%80%99s_Easy_Tears/", "artistKey":
189
+ "r235282", "length": 4, "trackKeys": ["t7367694", "t7367695", "t7367697",
190
+ "t7367698"], "canTether": true, "displayDate": "Sep 1, 1986"}, {"baseIcon":
191
+ "album/f/3/1/000000000009513f/square-200.jpg", "releaseDate": "1984-04-01",
192
+ "artistUrl": "/artist/Cocteau_Twins/", "duration": 1082, "isClean": false,
193
+ "shortUrl": "http://rd.io/x/QV76fCJWA34", "canStream": true, "embedUrl": "https://rd.io/e/QV76fCJWA34",
194
+ "type": "a", "price": "None", "key": "a610623", "icon": "http://cdn3.rd.io/album/f/3/1/000000000009513f/square-200.jpg",
195
+ "canSample": true, "name": "The Spangle Maker", "isExplicit": false, "artist":
196
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/The_Spangle_Maker/",
197
+ "artistKey": "r235282", "length": 4, "trackKeys": ["t7327413", "t7327438",
198
+ "t7327469", "t7327495"], "canTether": true, "displayDate": "Apr 1, 1984"},
199
+ {"baseIcon": "album/e/2/0/000000000009502e/square-200.jpg", "releaseDate":
200
+ "1991-11-04", "artistUrl": "/artist/Cocteau_Twins/", "duration": 715, "isClean":
201
+ false, "shortUrl": "http://rd.io/x/QV76fCJWAm8", "canStream": true, "embedUrl":
202
+ "https://rd.io/e/QV76fCJWAm8", "type": "a", "price": "None", "key": "a610350",
203
+ "icon": "http://cdn3.rd.io/album/e/2/0/000000000009502e/square-200.jpg", "canSample":
204
+ true, "name": "Cocteau Twins Singles Collection", "isExplicit": false, "artist":
205
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Cocteau_Twins_Singles_Collection/",
206
+ "artistKey": "r235282", "length": 4, "trackKeys": ["t7324299", "t7324319",
207
+ "t7324340", "t7324363"], "canTether": true, "displayDate": "Nov 4, 1991"},
208
+ {"baseIcon": "album/6/3/0/0000000000098036/square-200.jpg", "releaseDate":
209
+ "1985-03-04", "artistUrl": "/artist/Cocteau_Twins/", "duration": 888, "isClean":
210
+ false, "shortUrl": "http://rd.io/x/QV76fCJW0nc", "canStream": true, "embedUrl":
211
+ "https://rd.io/e/QV76fCJW0nc", "type": "a", "price": "None", "key": "a622646",
212
+ "icon": "http://cdn3.rd.io/album/6/3/0/0000000000098036/square-200.jpg", "canSample":
213
+ true, "name": "Aikea-Guinea", "isExplicit": false, "artist": "Cocteau Twins",
214
+ "url": "/artist/Cocteau_Twins/album/Aikea-Guinea/", "artistKey": "r235282",
215
+ "length": 4, "trackKeys": ["t7452648", "t7452651", "t7452654", "t7452656"],
216
+ "canTether": true, "displayDate": "Mar 4, 1985"}, {"baseIcon": "album/3/5/5/0000000000096553/square-200.jpg",
217
+ "releaseDate": "1985-11-01", "artistUrl": "/artist/Cocteau_Twins/", "duration":
218
+ 994, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWNxI", "canStream":
219
+ true, "embedUrl": "https://rd.io/e/QV76fCJWNxI", "type": "a", "price": "None",
220
+ "key": "a615763", "icon": "http://cdn3.rd.io/album/3/5/5/0000000000096553/square-200.jpg",
221
+ "canSample": true, "name": "Tiny Dynamine", "isExplicit": false, "artist":
222
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Tiny_Dynamine/", "artistKey":
223
+ "r235282", "length": 4, "trackKeys": ["t7385329", "t7385339", "t7385344",
224
+ "t7385349"], "canTether": true, "displayDate": "Nov 1, 1985"}, {"baseIcon":
225
+ "album/e/0/5/000000000009550e/square-200.jpg", "releaseDate": "1985-11-01",
226
+ "artistUrl": "/artist/Cocteau_Twins/", "duration": 977, "isClean": false,
227
+ "shortUrl": "http://rd.io/x/QV76fCJWB08", "canStream": true, "embedUrl": "https://rd.io/e/QV76fCJWB08",
228
+ "type": "a", "price": "None", "key": "a611598", "icon": "http://cdn3.rd.io/album/e/0/5/000000000009550e/square-200.jpg",
229
+ "canSample": true, "name": "Echoes In A Shallow Bay", "isExplicit": false,
230
+ "artist": "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Echoes_In_A_Shallow_Bay/",
231
+ "artistKey": "r235282", "length": 4, "trackKeys": ["t7339502", "t7339504",
232
+ "t7339506", "t7339508"], "canTether": true, "displayDate": "Nov 1, 1985"},
233
+ {"baseIcon": "album/d/2/0/000000000009802d/square-200.jpg", "releaseDate":
234
+ "1983-04-04", "artistUrl": "/artist/Cocteau_Twins/", "duration": 873, "isClean":
235
+ false, "shortUrl": "http://rd.io/x/QV76fCJW0mw", "canStream": true, "embedUrl":
236
+ "https://rd.io/e/QV76fCJW0mw", "type": "a", "price": "None", "key": "a622637",
237
+ "icon": "http://cdn3.rd.io/album/d/2/0/000000000009802d/square-200.jpg", "canSample":
238
+ true, "name": "Peppermint Pig", "isExplicit": false, "artist": "Cocteau Twins",
239
+ "url": "/artist/Cocteau_Twins/album/Peppermint_Pig/", "artistKey": "r235282",
240
+ "length": 4, "trackKeys": ["t7452583", "t7452585", "t7452587", "t7452589"],
241
+ "canTether": true, "displayDate": "Apr 4, 1983"}, {"baseIcon": "album/a/2/c/0000000000095c2a/square-200.jpg",
242
+ "releaseDate": "1990-08-28", "artistUrl": "/artist/Cocteau_Twins/", "duration":
243
+ 580, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWDms", "canStream":
244
+ true, "embedUrl": "https://rd.io/e/QV76fCJWDms", "type": "a", "price": "None",
245
+ "key": "a613418", "icon": "http://cdn3.rd.io/album/a/2/c/0000000000095c2a/square-200.jpg",
246
+ "canSample": true, "name": "Iceblink Luck", "isExplicit": false, "artist":
247
+ "Cocteau Twins", "url": "/artist/Cocteau_Twins/album/Iceblink_Luck/", "artistKey":
248
+ "r235282", "length": 3, "trackKeys": ["t7359755", "t7359765", "t7359770"],
249
+ "canTether": true, "displayDate": "Aug 28, 1990"}, {"baseIcon": "album/8/2/b/0000000000095b28/square-200.jpg",
250
+ "releaseDate": "1982-11-01", "artistUrl": "/artist/Cocteau_Twins/", "duration":
251
+ 980, "isClean": false, "shortUrl": "http://rd.io/x/QV76fCJWCWk", "canStream":
252
+ true, "embedUrl": "https://rd.io/e/QV76fCJWCWk", "type": "a", "price": "None",
253
+ "key": "a613160", "icon": "http://cdn3.rd.io/album/8/2/b/0000000000095b28/square-200.jpg",
254
+ "canSample": true, "name": "Lullabies", "isExplicit": false, "artist": "Cocteau
255
+ Twins", "url": "/artist/Cocteau_Twins/album/Lullabies/", "artistKey": "r235282",
256
+ "length": 3, "trackKeys": ["t7356744", "t7356747", "t7356748"], "canTether":
257
+ true, "displayDate": "Nov 1, 1982"}]}'
258
+ http_version:
259
+ recorded_at: Mon, 22 Oct 2012 06:39:41 GMT
260
+ recorded_with: VCR 2.2.5