lastfm 1.14.0 → 1.14.1

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.
@@ -12,7 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
13
13
  gem.name = %q{lastfm}
14
14
  gem.require_paths = ["lib"]
15
- gem.version = "1.14.0"
15
+ gem.version = "1.14.1"
16
16
 
17
17
  gem.add_dependency "xml-simple"
18
18
  gem.add_dependency "httparty"
@@ -27,7 +27,10 @@ class Lastfm
27
27
  regular_method :get_similar, [:artist, :track], [] do |response|
28
28
  response.xml['similartracks']['track'][1 .. -1]
29
29
  end
30
- regular_method :search, [:track], [[:artist, nil], [:limit, nil], [:page, nil]]
30
+ regular_method :search, [:track], [[:artist, nil], [:limit, nil], [:page, nil]] do |response|
31
+ response.xml['results']['trackmatches']['track'] = Util.force_array(response.xml['results']['trackmatches']['track'])
32
+ response.xml
33
+ end
31
34
 
32
35
  method_with_authentication :get_tags, [:artist, :track], [] do |response|
33
36
  response.xml['tags']['tag']
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <lfm status="ok">
3
+ <results xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/" for="Believe">
4
+ <opensearch:Query role="request" searchTerms="Believe" startPage="3"/>
5
+ <opensearch:totalResults>40540</opensearch:totalResults>
6
+ <opensearch:startIndex>20</opensearch:startIndex>
7
+ <opensearch:itemsPerPage>10</opensearch:itemsPerPage>
8
+ <trackmatches>
9
+ <track>
10
+ <name>Make Me Believe</name>
11
+ <artist>Godsmack</artist>
12
+ <url>http://www.last.fm/music/Godsmack/_/Make+Me+Believe</url>
13
+ <streamable fulltrack="0">1</streamable>
14
+ <listeners>76858</listeners>
15
+ <image size="small">http://userserve-ak.last.fm/serve/34s/8674971.jpg</image>
16
+ <image size="medium">http://userserve-ak.last.fm/serve/64s/8674971.jpg</image>
17
+ <image size="large">http://userserve-ak.last.fm/serve/126/8674971.jpg</image>
18
+ <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/8674971.jpg</image>
19
+ </track>
20
+ </trackmatches>
21
+ </results>
22
+ </lfm>
@@ -203,6 +203,24 @@ describe '#track' do
203
203
  tracks['results']['trackmatches']['track'].size.should == 2
204
204
  tracks['results']['trackmatches']['track'][0]['name'].should == 'Make Me Believe'
205
205
  end
206
+
207
+ it 'should always return an arrays of tracks' do
208
+ @lastfm.should_receive(:request).with('track.search', {
209
+ :artist => nil,
210
+ :track => 'Believe',
211
+ :limit => 10,
212
+ :page => 3,
213
+ }).and_return(make_response('track_search_single_track'))
214
+
215
+ tracks = @lastfm.track.search(
216
+ :track => 'Believe',
217
+ :limit => 10,
218
+ :page => 3)
219
+ tracks['results']['for'].should == 'Believe'
220
+ tracks['results']['totalResults'].should == '40540'
221
+ tracks['results']['trackmatches']['track'].size.should == 1
222
+ tracks['results']['trackmatches']['track'][0]['name'].should == 'Make Me Believe'
223
+ end
206
224
  end
207
225
 
208
226
  describe '#share' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lastfm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.14.0
4
+ version: 1.14.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-01-05 00:00:00.000000000 Z
12
+ date: 2013-01-14 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: xml-simple
@@ -151,6 +151,7 @@ files:
151
151
  - spec/fixtures/track_get_top_fans.xml
152
152
  - spec/fixtures/track_get_top_tags.xml
153
153
  - spec/fixtures/track_search.xml
154
+ - spec/fixtures/track_search_single_track.xml
154
155
  - spec/fixtures/user_get_friends.xml
155
156
  - spec/fixtures/user_get_info.xml
156
157
  - spec/fixtures/user_get_loved_tracks.xml
@@ -199,7 +200,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
200
  version: '0'
200
201
  segments:
201
202
  - 0
202
- hash: -194095241316451190
203
+ hash: 1931534095946630610
203
204
  required_rubygems_version: !ruby/object:Gem::Requirement
204
205
  none: false
205
206
  requirements:
@@ -208,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
209
  version: '0'
209
210
  segments:
210
211
  - 0
211
- hash: -194095241316451190
212
+ hash: 1931534095946630610
212
213
  requirements: []
213
214
  rubyforge_project:
214
215
  rubygems_version: 1.8.24
@@ -245,6 +246,7 @@ test_files:
245
246
  - spec/fixtures/track_get_top_fans.xml
246
247
  - spec/fixtures/track_get_top_tags.xml
247
248
  - spec/fixtures/track_search.xml
249
+ - spec/fixtures/track_search_single_track.xml
248
250
  - spec/fixtures/user_get_friends.xml
249
251
  - spec/fixtures/user_get_info.xml
250
252
  - spec/fixtures/user_get_loved_tracks.xml