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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5147c6e1d395cc2cab7468f066af493f0b58f83b
4
- data.tar.gz: 64ba416e6ef818ec25efc2517cfc6162a3ac6bae
3
+ metadata.gz: 0e1815c6ec7f721220d003f5f6d9008a40d7f727
4
+ data.tar.gz: d622ad7f253308753c81cad880116d39863d6b83
5
5
  SHA512:
6
- metadata.gz: 4c56269c530c7af6cde18a2e77cee6a4a1780e7e141f17f1f519864630f1bd241dab13fc480924d9996a296f6a83be858ec20d71cfa3709f420588b148d88266
7
- data.tar.gz: 3d650d59b38d07cedf812b29099356a5b083837404f403525e276ced552a44b1faf08180e3f4d65a9ae8a847dce31eee639514816ae97377171768aed483984b
6
+ metadata.gz: c55bb95033ed25c0de7a22da0016c07a2409173e0f9303e959a7ddc23d75bf1ced45285af3953f0d49678d5fb7a9506d92301dd70aa789be2f86fc310ee3f7cc
7
+ data.tar.gz: 0c37346ee7bc3e07e8a05411a8481d6ae73a9da222dd698bfee8a981c44f5325fb6f29ac241aecc84c0e216b3556bdd788f59bcbdce31719177d4dcaecb30e34
@@ -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']
@@ -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']
@@ -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 [Hash] tracks_added_at A hash containing the date and time each track was added to the playlist
11
- # @attr [Hash] tracks_added_by A hash containing the user that added each track to the playlist
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
- tracks = json['items'].map do |i|
187
- Track.new i['track'] unless i['track'].nil?
188
- end.compact
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
- tracks.map do |track|
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.to_h if tracks
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.to_h
196
+ end
197
+ Hash[pairs]
195
198
  end
196
199
  end
197
200
  end
@@ -1,3 +1,3 @@
1
1
  module RSpotify
2
- VERSION = '1.9.0'
2
+ VERSION = '1.9.1'
3
3
  end
@@ -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 include 'Indie'
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.genres) .to include 'Alternative Pop/Rock', 'Alternative/Indie Rock', 'Indie', 'Indie Rock', 'Pop/Rock'
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
- - '*/*; q=0.5, application/xml'
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
- - Fri, 15 Aug 2014 19:40:55 GMT
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+2b60/juBbAv+9fEfXD7pfdwa84NtJqBRSmXWBgKCwMqyvk
57
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- Af5tLLUmIYMGU42MBiYkkDFfhgwLZjQ3ASUMcB8FAE70uwY9+dbKYeREJnfM
77
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- rxpf7xJf9oM/ILwcLK+eyScD1t0eXQ7/aob6unnZbJHP4vJkpSisQuUsvl4S
92
- K/G1E9ktgpHSy8LLBltASbsjDod2exzxjdGQ2++R9hchBIcB4QEPpvXPbqJg
93
- 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
- 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
- 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
- +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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
104
- +Kfv/wK1NG9A+z8AAA==
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
+ zPWNikbyPBkPhM4K/4ElDooL44zn1qvOyymNAoTDChb2qr4dxpGMHD0Nj0e6
75
+ /l3DOuKMzTWtnZet4kuTgeNt2vkkD/Z4zi4+JMEWKoOvqTk914wu/bZJZX3n
76
+ 1XRusFyL1ZO5k3o73ilPEu7tJunNnxUGbDstkq4jfVOEnw9Wk2G9mgyG+PdK
77
+ alVCBg2mGhkNjCCQMV8KhjkzOjQBJQyEPgoAnOh3DXp01Go3ciKTX8z6kLu8
78
+ 1tBUy+CpiKRwoB9jbDeeT4z1vKM9R6xd3o27KWe1hVgbi9exuJsRc0MMwADR
79
+ KVT9ZIihvfg6U8kex2diAwpy+Xm8mcQvgliDylmIPSdWQ+zIO/H2o0QvTS8R
80
+ AsJs6EeBRiHhkviCGhuKSixCiiExduHAWONmeqH65hejV0MbW3rVqYr7jrUu
81
+ 0oZg/4uZhAXpRYE/CdB+fgiWbF6dHO1goHoH6ygS2yTEiXkRvfDjKmfp9ZxY
82
+ PZkPEu1tp5l33NfeUcrvn3wXDsGYDLnlGDbUwozZXsbKp4xBFUoRMKloiAI/
83
+ DGQzxPCSEGtoaguxFmI25fh/kQ5dEGIB9l81BFMfwtt869tmP8WXm5nP9qn8
84
+ +iKIob1HVc5C7DmxqRWZCx3HfNnnRy5MACEPlU0KhgEJjLYZOSOkTQuGgGrK
85
+ KaBIQ9oMr8lz/aIR2KM90cKrhdebhBdkPgGvCC/rultJoo/2v3yNd0/Dj9cH
86
+ vZMN90Kl+KsTu3NlRKokWIPKWXg9J1bDy2XAcm8n99bjeFmChcxnAfUVBZJy
87
+ SO0LldC+XpCccw2UfaHBMRUoDJ/IgPlLhl8N7WwJ1hLsTRIMEQzxKz5DButZ
88
+ 9xof3SF12t2++cSEv5EefHwRwRpUzhLsObGaYB/T9x70Dm0i+s5bT/K+HiyL
89
+ MZvDp6HUxgcBMoQDxZg0UPjcBl9AGG4CrrhNlDUHYpO1ZbFArKGxLcZajL1N
90
+ jEEfwFfEGB6MPsF1nR2pnrjMNq7wNjkFL3uKbFA5i7HnxGqM7XPl9dJxYrf8
91
+ 1DoWew+pqcAIaWIQ00JSAqWymTAdYsYBCSiCygZklJpmfLntGy4dsBi+GhrZ
92
+ 4qvF15vEl33hD0hYO8tPz+STIetvjS9Gf3eEvupcdLrkE784eVEU1qByFl/P
93
+ idX42o7s1sBI6WXhZYMtoKTdEYeF3R5HfGM0DO37SPuNEIJFQMIgDKb1z26i
94
+ YEvCq6GJLbxaeL1NeFEI0eR110+HF7pmZ3SPXoIrcXJ41vlyk59dn70MXg0q
95
+ Z+H1nFgNr9P+3W/K+5yOvYMkvvM2eRx7+9o77eukqP0t017X7jVeeo+FzeoT
96
+ RaWvAkVUwDi33wQAyKb3KaJaY0GA0sETD5aTxWaxyKyhC1q4tXB7m3ALMcDV
97
+ fny3wfEn7xDDYPzXx7i7c2k6eotcZ+wiNMMX7rF4XOUs3Bos12I13HoJH3oH
98
+ 49w7MDbNv2x8JhD1/SAE9rwCg0IAbfdXKOkDI6UhVNjozH4zPml+uISTYVmM
99
+ YQ0tbRnWMuxNMsweTPLpKwZoEH4JOqPBt+Ob3Z0t0eslhzdd6E61Lf2WskHl
100
+ LMOeE6sZtptobbNjxYGgWsdiyTG7Q18hhkKjiQJSGB9xEEpqQkolZYFP7GE6
101
+ 39dTmzhmny+n8pWL8auhlS2/Wn69SX5Bhu1Jx9fLjoGc6tPbL9tXAxZ2xseX
102
+ LP8LmW8v4leDyll+PSf2cJeFPWe0oYvnyWxpitn9FJhRiJBSFBmfcRQqu/WV
103
+ 2cy/JiFExKdaYDy1j/YHii27W7+hrSXFyoPLNuB2RyqLM1P+/aHYpDpUnYzj
104
+ uOy/lfIAZiF1L+RYno7d4cspwTzNuTuBBZG14/bLTB00LM4Vu+XgxxOGxaW1
105
+ huPEv3z/D4j14jaSQAAA
105
106
  http_version: '1.1'
106
- recorded_at: Fri, 15 Aug 2014 19:40:55 GMT
107
- recorded_with: VCR 2.8.0
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
- - '*/*; q=0.5, application/xml'
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
- - Fri, 15 Aug 2014 19:41:48 GMT
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
- H4sIAAAAAAAAA41T22rbQBB9z1cIPYdoL9qL/ZY3BxoILYFAKGUvs9YSWVKk
57
- tVsT8u9ZreQWYVz8uGdmzjkzs/Nxk2U5/AnQN6r+te/rIc/W2UdEIz50bfDu
58
- OCJ5FUI3rIui7aC5mwN3pt0Vqg9+CIX41khUP//gG0Di5bB5kO/vm00eiT5v
59
- R40tND0k8tcsv6+TYPAHyJ7arvjemrf8doEXD431kJ0i6TWmLOG/xdnPpFL1
60
- 4BZ2VecXbg94Njxccpx4vE0sF5qaUnZqe2ponlcFfluFsRJTSsesSBVnunAU
61
- /RjbxNEVfmQonCKwMgorIviKKRBOoljOkF0pRgFjywgFE5uf+H57G6qkgRBK
62
- 4z2t65+8ZNeqCxBSMEPBAmjquHHEMoclpUYbkBhKjrVT9kydl5fECRdXts60
63
- RlpyipgqFTUYnLYWkDaGSCw4I1haJ5k7Eyf/6fxabVAaBCCOeImjCY0s4wSi
64
- EUWkE4gKt9IlyDNtXo5Dn/9bo3aQtnvfm+BN9tg2b3AcUlHetd2+Vr0P6YJE
65
- mcBw7KaK6W6mzH3vE8t8V+sptr7w/W4+vwBZCPNbtgMAAA==
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: Fri, 15 Aug 2014 19:41:48 GMT
68
- recorded_with: VCR 2.8.0
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
- - '*/*; q=0.5, application/xml'
11
+ - "*/*; q=0.5, application/xml"
12
12
  accept-encoding:
13
13
  - gzip, deflate
14
14
  authorization:
15
- - Bearer BQCzAXsee3_M44oZI8hPLU2MC7A2WoRVEtoux4eVJs3rKwC20OpbxWduPoXyb6sUpwfSJO452WR-0RQsavHvlA
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
- - Fri, 05 Dec 2014 05:30:41 GMT
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
- jRqhWafRkdXoe5R6g3/7s108pDbGJJuVoSE90XhU7ZFhtU3jisdUCeJf1DD0
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/Azqa+yujnAIA
528
+ nR+R15NKt269tCpes/Z0vfLf/vX/A+c6PfujnAIA
529
529
  http_version: '1.1'
530
- recorded_at: Fri, 05 Dec 2014 05:30:43 GMT
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
- - '*/*; q=0.5, application/xml'
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
- - Fri, 15 Aug 2014 19:59:35 GMT
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
- H4sIAAAAAAAAA1WOQQrDMAwE732F0bnE9OrPlNAqxODGQpLbJiF/ry3SQK6z
57
- O8uuF+cAv4o89eleOAm44NZKKxfKGoe5ERhVSYL3mXDq9qB75Jcvguw/cVkS
58
- MlRvu7bJkXE4eT3Fk/a+mSmHalp8mvSfM6YzodHWB0OFo5H9R2hJOD5sP++v
59
- a1jVAAAA
56
+ H4sIAAAAAAAAA1VQSw6CMBDde4qma0MlcWF6CuPWGNLIIE0G2vQjAuHutgUa
57
+ 3b5535kPhNBaWo1irHrRASWc0JvqBdbkqjot6DFS4OPABLDyBm3kzAENuNXK
58
+ yWZMqtY5bTljSkNfbIfiqTrmLRg2yGlCMDTolmTZKEQ1gPm1aw000av3iJEU
59
+ aE45gRE7n8pLFu/EHCq0/Mt8lynW5tyUKevUdO+yYp14QSpxJ4+EuFGvf4gO
60
+ 635vZFJus3i88Dxp+QIkQWV6RwEAAA==
60
61
  http_version: '1.1'
61
- recorded_at: Fri, 15 Aug 2014 19:59:35 GMT
62
- recorded_with: VCR 2.8.0
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.0
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-05 00:00:00.000000000 Z
11
+ date: 2014-12-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2