rspotify 1.16.1 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: afb98eb04d0c06b8c501ef755e74906704bb20c0
4
- data.tar.gz: fd53db1447782954169d5be9ed10764d03b5d986
3
+ metadata.gz: ec64ebb3e63e640a69c4fc621b98927e493340b2
4
+ data.tar.gz: 1f2586292e73e9af6d7ff149a7a872e28e9d6f65
5
5
  SHA512:
6
- metadata.gz: c29641d9db9310feed2a446df944055c8bc4d2842ff7571ef92122313d8b7f4cc81bdee27e4da2eeaf64c3a1e1e161164249ae907751e12044ddc3888aadb4f6
7
- data.tar.gz: 530a15f27680a5ebe831e5cb3f57a008ddd92c4dd092f0ad44e34fa26e4013438db3f9b9c4734bbf9563252496658f0304567ffbd37ed73dd8acaa1f1b64bf96
6
+ metadata.gz: 1e5845de63d4bf7153726d24eda36de52306a798d6f439970434bc0850befbfeea4af4f149c7c87cf2e2aa2b3192530f916231f84760bdef6e1deb4e70438630
7
+ data.tar.gz: aca1f97b5fb3d2bd385eb96cd11b18c1093965af878ee1aaf3951040075a72c5c90848ffc58157bbfed40f586b6a4dd5bfcf313fefba2074b6e89ba4edf6dd74
@@ -11,6 +11,7 @@ module RSpotify
11
11
  # @attr [Integer] popularity The popularity of the album. The value will be between 0 and 100, with 100 being the most popular
12
12
  # @attr [String] release_date The date the album was first released, for example "1981-12-15". Depending on the precision, it might be shown as "1981" or "1981-12"
13
13
  # @attr [String] release_date_precision The precision with which release_date value is known: "year", "month", or "day"
14
+ # @attr [Integer] total_tracks The total number of tracks in the album
14
15
  class Album < Base
15
16
 
16
17
  # Returns Album object(s) with id(s) provided
@@ -84,8 +85,11 @@ module RSpotify
84
85
  options['artists'].map { |a| Artist.new a }
85
86
  end
86
87
 
87
- @tracks_cache = if options['tracks'] && options['tracks']['items']
88
- options['tracks']['items'].map { |i| Track.new i }
88
+ @tracks_cache, @total_tracks = if options['tracks'] && options['tracks']['items']
89
+ [
90
+ options['tracks']['items'].map { |i| Track.new i },
91
+ options['tracks']['total']
92
+ ]
89
93
  end
90
94
 
91
95
  super(options)
@@ -1,3 +1,3 @@
1
1
  module RSpotify
2
- VERSION = '1.16.1'
2
+ VERSION = '1.17.0'
3
3
  end
@@ -15,7 +15,7 @@ describe RSpotify::Album do
15
15
  expect(@album.copyrights) .to include ({'text' => '2013 Domino Recording Co Ltd', 'type' => 'C'})
16
16
  expect(@album.external_ids['upc']) .to eq '887828031795'
17
17
  expect(@album.external_urls['spotify']) .to eq 'https://open.spotify.com/album/5bU1XKYxHhEwukllT20xtk'
18
- expect(@album.genres) .to be_an Array
18
+ expect(@album.genres) .to be_an Array
19
19
  expect(@album.href) .to eq 'https://api.spotify.com/v1/albums/5bU1XKYxHhEwukllT20xtk'
20
20
  expect(@album.id) .to eq '5bU1XKYxHhEwukllT20xtk'
21
21
  expect(@album.images) .to include ({'height' => 640, 'width' => 640, 'url' => 'https://i.scdn.co/image/4d9ec146e3a257b10634d9a413ef6cc3de325008'})
@@ -25,6 +25,7 @@ describe RSpotify::Album do
25
25
  expect(@album.release_date_precision) .to eq 'day'
26
26
  expect(@album.type) .to eq 'album'
27
27
  expect(@album.uri) .to eq 'spotify:album:5bU1XKYxHhEwukllT20xtk'
28
+ expect(@album.total_tracks) .to eq 12
28
29
  end
29
30
 
30
31
  it 'should find album with correct artists' do
@@ -47,7 +48,7 @@ describe RSpotify::Album do
47
48
  describe 'Album::find receiving array of ids' do
48
49
  it 'should find the right albums' do
49
50
  ids = ['2agWNCZl5Ts9W05mij8EPh']
50
- albums = VCR.use_cassette('album:find:2agWNCZl5Ts9W05mij8EPh') do
51
+ albums = VCR.use_cassette('album:find:2agWNCZl5Ts9W05mij8EPh') do
51
52
  RSpotify::Album.find(ids)
52
53
  end
53
54
  expect(albums) .to be_an Array
@@ -55,7 +56,7 @@ describe RSpotify::Album do
55
56
  expect(albums.first.name) .to eq 'The Next Day Extra'
56
57
 
57
58
  ids << '3JquYMWj5wrzuZCNAvOYN9'
58
- albums = VCR.use_cassette('album:find:3JquYMWj5wrzuZCNAvOYN9') do
59
+ albums = VCR.use_cassette('album:find:3JquYMWj5wrzuZCNAvOYN9') do
59
60
  RSpotify::Album.find(ids)
60
61
  end
61
62
  expect(albums) .to be_an Array
@@ -77,7 +78,7 @@ describe RSpotify::Album do
77
78
  end
78
79
 
79
80
  it 'should find the appropriate new releases' do
80
- albums = VCR.use_cassette('album:new_releases') do
81
+ albums = VCR.use_cassette('album:new_releases') do
81
82
  RSpotify::Album.new_releases
82
83
  end
83
84
  expect(albums.size) .to eq 20
@@ -85,13 +86,13 @@ describe RSpotify::Album do
85
86
  end
86
87
 
87
88
  it 'should accept additional options' do
88
- albums = VCR.use_cassette('album:new_releases:limit:10:offset:10') do
89
+ albums = VCR.use_cassette('album:new_releases:limit:10:offset:10') do
89
90
  RSpotify::Album.new_releases(limit: 10, offset: 10)
90
91
  end
91
92
  expect(albums.size) .to eq 10
92
93
  expect(albums.map(&:name)) .to include('Recess', 'Atlas', 'Magic')
93
94
 
94
- albums = VCR.use_cassette('album:new_releases:country:ES') do
95
+ albums = VCR.use_cassette('album:new_releases:country:ES') do
95
96
  RSpotify::Album.new_releases(country: 'ES')
96
97
  end
97
98
  expect(albums.size) .to eq 20
@@ -101,7 +102,7 @@ describe RSpotify::Album do
101
102
 
102
103
  describe 'Album::search' do
103
104
  it 'should search for the right albums' do
104
- albums = VCR.use_cassette('album:search:AM') do
105
+ albums = VCR.use_cassette('album:search:AM') do
105
106
  RSpotify::Album.search('AM')
106
107
  end
107
108
  expect(albums) .to be_an Array
@@ -112,19 +113,19 @@ describe RSpotify::Album do
112
113
  end
113
114
 
114
115
  it 'should accept additional options' do
115
- albums = VCR.use_cassette('album:search:AM:limit:10') do
116
+ albums = VCR.use_cassette('album:search:AM:limit:10') do
116
117
  RSpotify::Album.search('AM', limit: 10)
117
118
  end
118
119
  expect(albums.size) .to eq 10
119
120
  expect(albums.map(&:name)) .to include('AM', 'Am I Wrong')
120
121
 
121
- albums = VCR.use_cassette('album:search:AM:offset:10') do
122
+ albums = VCR.use_cassette('album:search:AM:offset:10') do
122
123
  RSpotify::Album.search('AM', offset: 10)
123
124
  end
124
125
  expect(albums.size) .to eq 20
125
126
  expect(albums.map(&:name)) .to include('Melody AM', 'I Am')
126
127
 
127
- albums = VCR.use_cassette('album:search:AM:offset:10:limit:10') do
128
+ albums = VCR.use_cassette('album:search:AM:offset:10:limit:10') do
128
129
  RSpotify::Album.search('AM', limit: 10, offset: 10)
129
130
  end
130
131
  expect(albums.size) .to eq 10
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.16.1
4
+ version: 1.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Guilherme Sad
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-03-06 00:00:00.000000000 Z
11
+ date: 2016-04-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: omniauth-oauth2