rspotify 1.9.0 → 1.9.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/rspotify/album.rb +2 -0
- data/lib/rspotify/artist.rb +2 -0
- data/lib/rspotify/playlist.rb +18 -7
- data/lib/rspotify/user.rb +5 -2
- data/lib/rspotify/version.rb +1 -1
- data/spec/lib/rspotify/album_spec.rb +2 -1
- data/spec/lib/rspotify/artist_spec.rb +2 -1
- data/spec/lib/rspotify/playlist_spec.rb +1 -0
- data/spec/lib/rspotify/user_spec.rb +1 -0
- data/spec/vcr_cassettes/album_find_5bU1XKYxHhEwukllT20xtk.yml +55 -54
- data/spec/vcr_cassettes/artist_find_7Ln80lUS6He07XvHI8qqHH.yml +15 -15
- data/spec/vcr_cassettes/playlist_find_wizzler_00wHcTN0zQiun4xri9pmvX.yml +7 -7
- data/spec/vcr_cassettes/user_find_wizzler.yml +10 -9
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0e1815c6ec7f721220d003f5f6d9008a40d7f727
|
4
|
+
data.tar.gz: d622ad7f253308753c81cad880116d39863d6b83
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c55bb95033ed25c0de7a22da0016c07a2409173e0f9303e959a7ddc23d75bf1ced45285af3953f0d49678d5fb7a9506d92301dd70aa789be2f86fc310ee3f7cc
|
7
|
+
data.tar.gz: 0c37346ee7bc3e07e8a05411a8481d6ae73a9da222dd698bfee8a981c44f5325fb6f29ac241aecc84c0e216b3556bdd788f59bcbdce31719177d4dcaecb30e34
|
data/lib/rspotify/album.rb
CHANGED
@@ -3,6 +3,7 @@ module RSpotify
|
|
3
3
|
# @attr [String] album_type The type of the album (album, single, compilation)
|
4
4
|
# @attr [Array<Artist>] artists The artists of the album
|
5
5
|
# @attr [Array<String>] available_markets The markets in which the album is available. See {http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2 ISO 3166-1 alpha-2 country codes}
|
6
|
+
# @attr [Array<Hash>] copyrights The copyright statements of the album
|
6
7
|
# @attr [Hash] external_ids Known external IDs for the album
|
7
8
|
# @attr [Array<String>] genres A list of the genres used to classify the album. If not yet classified, the array is empty
|
8
9
|
# @attr [Array<Hash>] images The cover art for the album in various sizes, widest first
|
@@ -66,6 +67,7 @@ module RSpotify
|
|
66
67
|
def initialize(options = {})
|
67
68
|
@album_type = options['album_type']
|
68
69
|
@available_markets = options['available_markets']
|
70
|
+
@copyrights = options['copyrights']
|
69
71
|
@external_ids = options['external_ids']
|
70
72
|
@genres = options['genres']
|
71
73
|
@images = options['images']
|
data/lib/rspotify/artist.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
module RSpotify
|
2
2
|
|
3
|
+
# @attr [Hash] followers Information about the followers of the artist
|
3
4
|
# @attr [Array<String>] genres A list of the genres the artist is associated with. If not yet classified, the array is empty
|
4
5
|
# @attr [Array<Hash>] images Images of the artist in various sizes, widest first
|
5
6
|
# @attr [String] name The name of the artist
|
@@ -41,6 +42,7 @@ module RSpotify
|
|
41
42
|
end
|
42
43
|
|
43
44
|
def initialize(options = {})
|
45
|
+
@followers = options['followers']
|
44
46
|
@genres = options['genres']
|
45
47
|
@images = options['images']
|
46
48
|
@name = options['name']
|
data/lib/rspotify/playlist.rb
CHANGED
@@ -7,8 +7,9 @@ module RSpotify
|
|
7
7
|
# @attr [String] name The name of the playlist
|
8
8
|
# @attr [User] owner The user who owns the playlist
|
9
9
|
# @attr [Boolean] public true if the playlist is not marked as secret
|
10
|
-
# @attr [
|
11
|
-
# @attr [Hash]
|
10
|
+
# @attr [String] snapshot_id The version identifier for the current playlist. Can be supplied in other requests to target a specific playlist version
|
11
|
+
# @attr [Hash] tracks_added_at A hash containing the date and time each track was added to the playlist. Note: whenever {#tracks} is used the hash is updated with the correspondent tracks' values.
|
12
|
+
# @attr [Hash] tracks_added_by A hash containing the user that added each track to the playlist. Note: whenever {#tracks} is used the hash is updated with the correspondent tracks' values.
|
12
13
|
class Playlist < Base
|
13
14
|
|
14
15
|
# Get a list of Spotify featured playlists (shown, for example, on a Spotify player’s “Browse” tab).
|
@@ -79,12 +80,14 @@ module RSpotify
|
|
79
80
|
@images = options['images']
|
80
81
|
@name = options['name']
|
81
82
|
@public = options['public']
|
83
|
+
@snapshot_id = options['snapshot_id']
|
82
84
|
|
83
85
|
@owner = if options['owner']
|
84
86
|
User.new options['owner']
|
85
87
|
end
|
86
88
|
|
87
89
|
tracks = options['tracks']['items'] if options['tracks']
|
90
|
+
tracks.select! { |t| t['track'] } if tracks
|
88
91
|
|
89
92
|
@tracks_cache = if tracks
|
90
93
|
tracks.map { |t| Track.new t['track'] }
|
@@ -182,11 +185,17 @@ module RSpotify
|
|
182
185
|
|
183
186
|
url = @href + "/tracks?limit=#{limit}&offset=#{offset}"
|
184
187
|
json = RSpotify.resolve_auth_request(@owner.id, url)
|
188
|
+
tracks = json['items'].select { |i| i['track'] }
|
185
189
|
|
186
|
-
|
187
|
-
|
188
|
-
end
|
190
|
+
@tracks_added_at = hash_for(tracks, 'added_at') do |added_at|
|
191
|
+
Time.parse added_at
|
192
|
+
end
|
193
|
+
|
194
|
+
@tracks_added_by = hash_for(tracks, 'added_by') do |added_by|
|
195
|
+
User.new added_by
|
196
|
+
end
|
189
197
|
|
198
|
+
tracks.map! { |t| Track.new t['track'] }
|
190
199
|
@tracks_cache = tracks if limit == 100 && offset == 0
|
191
200
|
tracks
|
192
201
|
end
|
@@ -213,11 +222,13 @@ module RSpotify
|
|
213
222
|
private
|
214
223
|
|
215
224
|
def hash_for(tracks, field)
|
216
|
-
|
225
|
+
return nil unless tracks
|
226
|
+
pairs = tracks.map do |track|
|
217
227
|
key = track['track']['id']
|
218
228
|
value = yield track[field] if track[field]
|
219
229
|
[key, value]
|
220
|
-
end
|
230
|
+
end
|
231
|
+
Hash[pairs]
|
221
232
|
end
|
222
233
|
end
|
223
234
|
end
|
data/lib/rspotify/user.rb
CHANGED
@@ -4,6 +4,7 @@ module RSpotify
|
|
4
4
|
# @attr [Hash] credentials The credentials generated for the user with OAuth. Includes access token, token type, token expiration time and refresh token. This field is only available when the current user has granted access to any scope.
|
5
5
|
# @attr [String] display_name The name displayed on the user's profile. This field is only available when the current user has granted access to the *user-read-private* scope.
|
6
6
|
# @attr [String] email The user's email address. This field is only available when the current user has granted access to the *user-read-email* scope.
|
7
|
+
# @attr [Hash] followers Information about the followers of the user
|
7
8
|
# @attr [Array] images The user's profile image. This field is only available when the current user has granted access to the *user-read-private* scope.
|
8
9
|
# @attr [String] product The user's Spotify subscription level: "premium", "free", etc. This field is only available when the current user has granted access to the *user-read-private* scope.
|
9
10
|
class User < Base
|
@@ -70,6 +71,7 @@ module RSpotify
|
|
70
71
|
@country ||= options['country']
|
71
72
|
@display_name ||= options['display_name']
|
72
73
|
@email ||= options['email']
|
74
|
+
@followers ||= options['followers']
|
73
75
|
@images ||= options['images']
|
74
76
|
@product ||= options['product']
|
75
77
|
|
@@ -189,9 +191,10 @@ module RSpotify
|
|
189
191
|
|
190
192
|
# Returns a hash containing all user attributes
|
191
193
|
def to_hash
|
192
|
-
instance_variables.map do |var|
|
194
|
+
pairs = instance_variables.map do |var|
|
193
195
|
[var.to_s.delete('@'), instance_variable_get(var)]
|
194
|
-
end
|
196
|
+
end
|
197
|
+
Hash[pairs]
|
195
198
|
end
|
196
199
|
end
|
197
200
|
end
|
data/lib/rspotify/version.rb
CHANGED
@@ -12,9 +12,10 @@ describe RSpotify::Album do
|
|
12
12
|
it 'should find album with correct attributes' do
|
13
13
|
expect(@album.album_type) .to eq 'album'
|
14
14
|
expect(@album.available_markets) .to include *%w(AD AT BE BG CA EE ES FR GR MC TW US)
|
15
|
+
expect(@album.copyrights) .to include ({'text' => '2013 Domino Recording Co Ltd', 'type' => 'C'})
|
15
16
|
expect(@album.external_ids['upc']) .to eq '887828031795'
|
16
17
|
expect(@album.external_urls['spotify']) .to eq 'https://open.spotify.com/album/5bU1XKYxHhEwukllT20xtk'
|
17
|
-
expect(@album.genres) .to
|
18
|
+
expect(@album.genres) .to be_an Array
|
18
19
|
expect(@album.href) .to eq 'https://api.spotify.com/v1/albums/5bU1XKYxHhEwukllT20xtk'
|
19
20
|
expect(@album.id) .to eq '5bU1XKYxHhEwukllT20xtk'
|
20
21
|
expect(@album.images) .to include ({'height' => 640, 'width' => 640, 'url' => 'https://i.scdn.co/image/4d9ec146e3a257b10634d9a413ef6cc3de325008'})
|
@@ -11,7 +11,8 @@ describe RSpotify::Artist do
|
|
11
11
|
|
12
12
|
it 'should find artist with correct attributes' do
|
13
13
|
expect(@artist.external_urls['spotify']) .to eq 'https://open.spotify.com/artist/7Ln80lUS6He07XvHI8qqHH'
|
14
|
-
expect(@artist.
|
14
|
+
expect(@artist.followers['total']) .to be > 0
|
15
|
+
expect(@artist.genres) .to be_an Array
|
15
16
|
expect(@artist.href) .to eq 'https://api.spotify.com/v1/artists/7Ln80lUS6He07XvHI8qqHH'
|
16
17
|
expect(@artist.id) .to eq '7Ln80lUS6He07XvHI8qqHH'
|
17
18
|
expect(@artist.images) .to include ({'height' => 1333, 'width' => 1000, 'url' => 'https://i.scdn.co/image/fa2e9ca1a27695ae7f8013350d9a53e11d523ece'})
|
@@ -64,6 +64,7 @@ describe RSpotify::Playlist do
|
|
64
64
|
expect(playlist.images.first['url']) .to match %r{https://i\.scdn\.co/image/418ce596327dc3a0f4d377db80421bffb3b94a9a}
|
65
65
|
expect(playlist.name) .to eq 'Movie Soundtrack Masterpieces'
|
66
66
|
expect(playlist.public) .to eq true
|
67
|
+
expect(playlist.snapshot_id) .to eq 'ViCZCcnhRtzkGq09wO4OPxvC/UBP/ZqMjrmTYoNurZ706SIXyMJiKb/zj27NYjiP'
|
67
68
|
expect(playlist.type) .to eq 'playlist'
|
68
69
|
expect(playlist.uri) .to eq 'spotify:user:wizzler:playlist:00wHcTN0zQiun4xri9pmvX'
|
69
70
|
end
|
@@ -11,6 +11,7 @@ describe RSpotify::User do
|
|
11
11
|
|
12
12
|
it 'should find user with correct attributes' do
|
13
13
|
expect(@user.external_urls['spotify']) .to eq 'https://open.spotify.com/user/wizzler'
|
14
|
+
expect(@user.followers['total']) .to be > 0
|
14
15
|
expect(@user.href) .to eq 'https://api.spotify.com/v1/users/wizzler'
|
15
16
|
expect(@user.id) .to eq 'wizzler'
|
16
17
|
expect(@user.type) .to eq 'user'
|
@@ -8,7 +8,7 @@ http_interactions:
|
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
accept:
|
11
|
-
-
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
12
|
accept-encoding:
|
13
13
|
- gzip, deflate
|
14
14
|
user-agent:
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
server:
|
22
22
|
- nginx
|
23
23
|
date:
|
24
|
-
-
|
24
|
+
- Mon, 08 Dec 2014 23:23:14 GMT
|
25
25
|
content-type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
transfer-encoding:
|
@@ -37,7 +37,7 @@ http_interactions:
|
|
37
37
|
access-control-allow-headers:
|
38
38
|
- Accept, Authorization, Origin, Content-Type
|
39
39
|
access-control-allow-origin:
|
40
|
-
-
|
40
|
+
- "*"
|
41
41
|
access-control-max-age:
|
42
42
|
- '604800'
|
43
43
|
access-control-allow-methods:
|
@@ -53,55 +53,56 @@ http_interactions:
|
|
53
53
|
body:
|
54
54
|
encoding: ASCII-8BIT
|
55
55
|
string: !binary |-
|
56
|
-
H4sIAAAAAAAAA+
|
57
|
-
+
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
+
|
56
|
+
H4sIAAAAAAAAA+2bW0/jSBaA3+dXWDzMvPQ0dXO5jDQaAYEOAzQ0gYHu1QrV
|
57
|
+
lRgcO+04XHrU/33LZeOENIYkbKNdZIRKSfnkHNflfHV8XPXPL563wmMxHpzn
|
58
|
+
d0O94q1VX1feuStZHo3yUVH9L+8fW2Pr9G2us4TH5+MsdlfKentlNEzzyNw5
|
59
|
+
Jf08H47WVlfToU7eVxfey3SwWqpcDfYSBuKTHu1qEJxdd3fY16/d7ooz8b2w
|
60
|
+
bfX1M20eKOPD6IGua1ipGzXpqzRFyulpMFoJJXxQdsB6JvNIevtpcqXvRq4n
|
61
|
+
7N1M+sd1yn31OIuc7qqNa2X71hpMWVXfvX+XfXvNo5iLWJ8PeHal73t5Zb2z
|
62
|
+
8s5bWT8uyo0tV34oys11V3Zd+dmVX4qy42Q6u0W55T5v9Ypye8eVR0X5YcOV
|
63
|
+
7nPXSXZPinLHye84+R1ncc/9aq/87GT2/i7K/U1Xuvp9Z/3jnisPivLQ3dWh
|
64
|
+
qzl0Mkeuvuf099z995zmnrPeczqP3f0cnxblSW+l6heZDu+y6KI/M+1yO+9c
|
65
|
+
RyMAsddJB1GSekdappmKkgtvM/X2cvXDWG0WM+r7u/u5u5ySQ6ekur16+kdq
|
66
|
+
avavjIfS3R1jAUMMYBiEfmm78KMGn5nTYwr3XPXFCTzb/Xzb7W/djK/i+BiB
|
67
|
+
2/xqYuJCJ5muPLWcYHO5T6F71KTczdPKdxrslyIDfnFvu6JEXxdDWHQJJaDy
|
68
|
+
IAuMB+5snVmqxFJhNSoUrBIVagkJ1ZgjPxAQUGyrOIFYGyolVhojHwB2P8o3
|
69
|
+
kcr7lYkHwzwxjsG8xkOfopASQmHgC8GJlMooqpXUTAZMY6gYD7mqp1ht3Jpo
|
70
|
+
ME7JnA2nihkgiqmDfehLCKlRQugQSap8ogNjK3Eg0SMNn5qZE37tl/QepsNx
|
71
|
+
zLMod0hmgRurTMeaj/S54nlJu8Kffgeh/S9/NS1wPsy0jEZRmriBU/yulMkz
|
72
|
+
Lq+mp/+L59pqqfLP1JiRzv8Av8bRIMr/8MF9m6NcDx4sRI8vT08vUe7qf2uZ
|
73
|
+
KpRVS5XTO1cflAvq08uV0zbPkuUEn162nMjjS5e7tPDyVfyqYqFTwNtl7LFl
|
74
|
+
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
|
105
|
+
huPEv3z/D4j14jaSQAAA
|
105
106
|
http_version: '1.1'
|
106
|
-
recorded_at:
|
107
|
-
recorded_with: VCR 2.
|
107
|
+
recorded_at: Mon, 08 Dec 2014 23:23:07 GMT
|
108
|
+
recorded_with: VCR 2.9.3
|
@@ -8,7 +8,7 @@ http_interactions:
|
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
accept:
|
11
|
-
-
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
12
|
accept-encoding:
|
13
13
|
- gzip, deflate
|
14
14
|
user-agent:
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
server:
|
22
22
|
- nginx
|
23
23
|
date:
|
24
|
-
-
|
24
|
+
- Tue, 09 Dec 2014 03:37:39 GMT
|
25
25
|
content-type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
transfer-encoding:
|
@@ -37,7 +37,7 @@ http_interactions:
|
|
37
37
|
access-control-allow-headers:
|
38
38
|
- Accept, Authorization, Origin, Content-Type
|
39
39
|
access-control-allow-origin:
|
40
|
-
-
|
40
|
+
- "*"
|
41
41
|
access-control-max-age:
|
42
42
|
- '604800'
|
43
43
|
access-control-allow-methods:
|
@@ -53,16 +53,16 @@ http_interactions:
|
|
53
53
|
body:
|
54
54
|
encoding: ASCII-8BIT
|
55
55
|
string: !binary |-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
/
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
56
|
+
H4sIAAAAAAAAA41TyW7bMBC95ysEnYuIi7jIt95coDkFAQoURcFlaBGlJUWi
|
57
|
+
kxhB/r0UJacJDBe+Duct84bzelMUJbxEGDsVfh/GMJXFpnhN1VSfhj56d5wr
|
58
|
+
ZRvjMG2qqh+gu10fbk2/r9QY/RQr8b2TKDzc8y0g8eNp+00+Pm63ZSJ6+zJr
|
59
|
+
uD6E/hnGj/ztCG4m7w4hzE2pLfZRhbmGa95Qyd/xO+hGyOCfxa/MeEK/W1OD
|
60
|
+
/+TsCa/mpkvuMo+3ecALAywte7U7ia/ZtOB3bcxOKaWr+5Tfp7CSH2O7FFPl
|
61
|
+
Z4bKKQKNUVgRwRumQDiJEpwh2yhGAWPLCAUD5cr37G1sswZCKEdxWs0/ecmu
|
62
|
+
VRcgpGCGggXQ1HHjiGUOS0qNNiAx1Bxrp+yZOq8viRMurhydaY205BQxVStq
|
63
|
+
MDhtLSBtDJFYcEawtE4ydyZO/jP5tdqgNAhAHPEaJxMaWcYJJCOKSCcQFa7R
|
64
|
+
NcgzbV7Poa//rVN7yNv9OproTXHXd3/gOGVQOfTDIajRx3wtIq+kjMdhQSw3
|
65
|
+
snQeRp9Z1hvaLG+bC9/v5u0veWVR1KIDAAA=
|
66
66
|
http_version: '1.1'
|
67
|
-
recorded_at:
|
68
|
-
recorded_with: VCR 2.
|
67
|
+
recorded_at: Tue, 09 Dec 2014 03:37:36 GMT
|
68
|
+
recorded_with: VCR 2.9.3
|
@@ -8,11 +8,11 @@ http_interactions:
|
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
accept:
|
11
|
-
-
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
12
|
accept-encoding:
|
13
13
|
- gzip, deflate
|
14
14
|
authorization:
|
15
|
-
- Bearer
|
15
|
+
- Bearer BQAWCK7KIbEWJ_be5H5oBh1TziB8r-ScMZNZ639nkz2aMr1a0W8_O9cEzWN7VY6Eh2zdqSdrRh92aTj_UYuCSA
|
16
16
|
user-agent:
|
17
17
|
- Ruby
|
18
18
|
response:
|
@@ -23,7 +23,7 @@ http_interactions:
|
|
23
23
|
server:
|
24
24
|
- nginx
|
25
25
|
date:
|
26
|
-
-
|
26
|
+
- Tue, 09 Dec 2014 03:56:00 GMT
|
27
27
|
content-type:
|
28
28
|
- application/json; charset=utf-8
|
29
29
|
transfer-encoding:
|
@@ -39,7 +39,7 @@ http_interactions:
|
|
39
39
|
access-control-allow-headers:
|
40
40
|
- Accept, Authorization, Origin, Content-Type
|
41
41
|
access-control-allow-origin:
|
42
|
-
-
|
42
|
+
- "*"
|
43
43
|
access-control-max-age:
|
44
44
|
- '604800'
|
45
45
|
access-control-allow-methods:
|
@@ -63,7 +63,7 @@ http_interactions:
|
|
63
63
|
qmy3ccFaIxpCoVlR0bVwnfpdO7pgo64LzarsVSvtzl8r8ZD1S0e36rL6d7dV
|
64
64
|
bUeD/i98F99vN9FH2It/jftOp7m2utpo6vpfb9//SzVqq922bq0+V15fq/j7
|
65
65
|
Z7+rhDzvqvMj8npS6datl1bFa9aerlfQ7b/iK4aYv8azbiWvdt/SYXSperda
|
66
|
-
|
66
|
+
jRqhWafRkdXoe5S5g3/7s108pDbGJJuVoSE90XhU7ZFhtU3jisdUCeJf1DD0
|
67
67
|
fpOavNPxmP/z5xxhygbzEw0GQ1FBHVOzWokar1rUVdr2BGdOoLgkoRVwxwl8
|
68
68
|
l1iM+mHoc9+zpCfjuSn8r/gydVmLH6qVUvQcFM4Gj06hJNu4Vc2KVhhG3Lbx
|
69
69
|
XNetxD0z3Msp7mY0orf7hX+de9bj4b1P69sj8vO7nV6z/ytGd+rnN7utSvxr
|
@@ -525,7 +525,7 @@ http_interactions:
|
|
525
525
|
hj+9a8d7KYMsCEfhI0PGPrQcGF8mjwfi6o+/690aapii81I2Q6RhmI7hSONn
|
526
526
|
DdNKtVKrxNqK9Ke24kodT0b0nXq3Wu2PY6URhm0df/MtHl6JKzoa3VgBLtGw
|
527
527
|
0+jIavQ9m+OC8WbxTp5sVmWvCuG9+Ddf+Vh+1W3r1tpz5fW1ir9/Nl0j5HlX
|
528
|
-
nR+R15NKt269tCpes/Z0vfLf/vX/
|
528
|
+
nR+R15NKt269tCpes/Z0vfLf/vX/A+c6PfujnAIA
|
529
529
|
http_version: '1.1'
|
530
|
-
recorded_at:
|
530
|
+
recorded_at: Tue, 09 Dec 2014 03:55:57 GMT
|
531
531
|
recorded_with: VCR 2.9.3
|
@@ -8,7 +8,7 @@ http_interactions:
|
|
8
8
|
string: ''
|
9
9
|
headers:
|
10
10
|
accept:
|
11
|
-
-
|
11
|
+
- "*/*; q=0.5, application/xml"
|
12
12
|
accept-encoding:
|
13
13
|
- gzip, deflate
|
14
14
|
user-agent:
|
@@ -21,7 +21,7 @@ http_interactions:
|
|
21
21
|
server:
|
22
22
|
- nginx
|
23
23
|
date:
|
24
|
-
-
|
24
|
+
- Tue, 09 Dec 2014 03:48:47 GMT
|
25
25
|
content-type:
|
26
26
|
- application/json; charset=utf-8
|
27
27
|
transfer-encoding:
|
@@ -37,7 +37,7 @@ http_interactions:
|
|
37
37
|
access-control-allow-headers:
|
38
38
|
- Accept, Authorization, Origin, Content-Type
|
39
39
|
access-control-allow-origin:
|
40
|
-
-
|
40
|
+
- "*"
|
41
41
|
access-control-max-age:
|
42
42
|
- '604800'
|
43
43
|
access-control-allow-methods:
|
@@ -53,10 +53,11 @@ http_interactions:
|
|
53
53
|
body:
|
54
54
|
encoding: ASCII-8BIT
|
55
55
|
string: !binary |-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
56
|
+
H4sIAAAAAAAAA1VQSw6CMBDde4qma0MlcWF6CuPWGNLIIE0G2vQjAuHutgUa
|
57
|
+
3b5535kPhNBaWo1irHrRASWc0JvqBdbkqjot6DFS4OPABLDyBm3kzAENuNXK
|
58
|
+
yWZMqtY5bTljSkNfbIfiqTrmLRg2yGlCMDTolmTZKEQ1gPm1aw000av3iJEU
|
59
|
+
aE45gRE7n8pLFu/EHCq0/Mt8lynW5tyUKevUdO+yYp14QSpxJ4+EuFGvf4gO
|
60
|
+
635vZFJus3i88Dxp+QIkQWV6RwEAAA==
|
60
61
|
http_version: '1.1'
|
61
|
-
recorded_at:
|
62
|
-
recorded_with: VCR 2.
|
62
|
+
recorded_at: Tue, 09 Dec 2014 03:48:44 GMT
|
63
|
+
recorded_with: VCR 2.9.3
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspotify
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.9.
|
4
|
+
version: 1.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Guilherme Sad
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-12-
|
11
|
+
date: 2014-12-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: omniauth-oauth2
|