lastfm 1.13.0 → 1.13.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.
- data/lastfm.gemspec +1 -1
- data/lib/lastfm/response.rb +2 -0
- data/spec/fixtures/user_get_recent_tracks_malformed.xml +18 -0
- data/spec/method_specs/user_spec.rb +11 -0
- metadata +7 -5
data/lastfm.gemspec
CHANGED
|
@@ -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.13.
|
|
15
|
+
gem.version = "1.13.1"
|
|
16
16
|
|
|
17
17
|
gem.add_dependency "xml-simple"
|
|
18
18
|
gem.add_dependency "httparty"
|
data/lib/lastfm/response.rb
CHANGED
|
@@ -7,6 +7,8 @@ class Lastfm
|
|
|
7
7
|
|
|
8
8
|
def initialize(body)
|
|
9
9
|
@xml = XmlSimple.xml_in(body, 'ForceArray' => ['image', 'tag', 'user', 'event', 'correction'])
|
|
10
|
+
rescue REXML::ParseException
|
|
11
|
+
@xml = XmlSimple.xml_in(body.encode(Encoding.find("ISO-8859-1"), :undef => :replace), 'ForceArray' => ['image', 'tag', 'user', 'event', 'correction'])
|
|
10
12
|
end
|
|
11
13
|
|
|
12
14
|
def success?
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<?xml version="1.0"?>
|
|
2
|
+
<lfm status="ok">
|
|
3
|
+
<recenttracks user="RJ" page="1" perPage="10" totalPages="3019">
|
|
4
|
+
<track>
|
|
5
|
+
<artist mbid="">䬀愀瀀 匀氀愀瀀</artist>
|
|
6
|
+
<name>匀琀爀漀戀攀 䰀椀最栀琀猀 ㈀ 䤀戀椀稀愀 ⠀䐀攀愀搀洀愀甀㔀 瘀猀 䔀氀氀椀攀 䜀漀甀氀搀椀渀最 瘀猀 匀眀攀搀椀猀栀 䠀漀甀猀攀 䴀愀昀椀愀 瘀猀 䘀攀爀最椀攀 瘀猀 䰀椀氀 䨀漀渀⤀</name>
|
|
7
|
+
<streamable>0</streamable>
|
|
8
|
+
<mbid></mbid>
|
|
9
|
+
<album mbid="">䔀愀爀洀椀氀欀⸀挀漀洀 ⴀ ⌀䴀愀猀栀甀瀀䴀漀渀搀愀礀</album>
|
|
10
|
+
<url>http://www.last.fm/music/%EF%BF%BE%E4%AC%80%E6%84%80%E7%80%80%E2%80%80%E5%8C%80%E6%B0%80%E6%84%80%E7%80%80/_/%EF%BF%BE%E5%8C%80%E7%90%80%E7%88%80%E6%BC%80%E6%88%80%E6%94%80%E2%80%80%E4%B0%80%E6%A4%80%E6%9C%80%E6%A0%80%E7%90%80%E7%8C%80%E2%80%80%E3%88%80%E2%80%80%E4%A4%80%E6%88%80%E6%A4%80%E7%A8%80%E6%84%80%E2%80%80%E2%A0%80%E4%90%80%E6%94%80%E6%84%80%E6%90%80%E6%B4%80%E6%84%80%E7%94%80%E3%94%80%E2%80%80%E7%98%80%E7%8C%80%E2%80%80%E4%94%80%E6%B0%80%E6%B0%80%E6%A4%80%E6%94%80%E2%80%80%E4%9C%80%E6%BC%80%E7%94%80%E6%B0%80%E6%90%80%E6%A4%80%E6%B8%80%E6%9C%80%E2%80%80%E7%98%80%E7%8C%80%E2%80%80%E5%8C%80%E7%9C%80%E6%94%80%E6%90%80%E6%A4%80%E7%8C%80%E6%A0%80%E2%80%80%E4%A0%80%E6%BC%80%E7%94%80%E7%8C%80%E6%94%80%E2%80%80%E4%B4%80%E6%84%80%E6%98%80%E6%A4%80%E6%84%80%E2%80%80%E7%98%80%E7%8C%80%E2%80%80%E4%98%80%E6%94%80%E7%88%80%E6%9C%80%E6%A4%80%E6%94%80%E2%80%80%E7%98%80%E7%8C%80%E2%80%80%E4%B0%80%E6%A4%80%E6%B0%80%E2%80%80%E4%A8%80%E6%BC%80%E6%B8%80%E2%A4%80</url>
|
|
11
|
+
<image size="small"></image>
|
|
12
|
+
<image size="medium"></image>
|
|
13
|
+
<image size="large"></image>
|
|
14
|
+
<image size="extralarge"></image>
|
|
15
|
+
<date uts="1338664693">2 Jun 2012, 19:18</date>
|
|
16
|
+
</track>
|
|
17
|
+
</recenttracks>
|
|
18
|
+
</lfm>
|
|
@@ -210,6 +210,17 @@ describe '#user' do
|
|
|
210
210
|
tracks[1]['artist']['content'].should == 'Kylie Minogue'
|
|
211
211
|
tracks.size.should == 2
|
|
212
212
|
end
|
|
213
|
+
|
|
214
|
+
it 'should not error when a user\'s recent tracks includes malformed data' do
|
|
215
|
+
@lastfm.should_receive(:request).with('user.getRecentTracks', {
|
|
216
|
+
:user => 'test',
|
|
217
|
+
:page => nil,
|
|
218
|
+
:limit => nil,
|
|
219
|
+
:to => nil,
|
|
220
|
+
:from => nil
|
|
221
|
+
}).and_return(make_response('user_get_recent_tracks_malformed'))
|
|
222
|
+
tracks = @lastfm.user.get_recent_tracks(:user => 'test')
|
|
223
|
+
end
|
|
213
224
|
end
|
|
214
225
|
|
|
215
226
|
describe '#get_top_tags' 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.13.
|
|
4
|
+
version: 1.13.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: 2012-11-
|
|
12
|
+
date: 2012-11-29 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
|
14
14
|
- !ruby/object:Gem::Dependency
|
|
15
15
|
name: xml-simple
|
|
@@ -157,6 +157,7 @@ files:
|
|
|
157
157
|
- spec/fixtures/user_get_personal_tags_artists.xml
|
|
158
158
|
- spec/fixtures/user_get_personal_tags_tracks.xml
|
|
159
159
|
- spec/fixtures/user_get_recent_tracks.xml
|
|
160
|
+
- spec/fixtures/user_get_recent_tracks_malformed.xml
|
|
160
161
|
- spec/fixtures/user_get_top_albums.xml
|
|
161
162
|
- spec/fixtures/user_get_top_artists.xml
|
|
162
163
|
- spec/fixtures/user_get_top_tags.xml
|
|
@@ -194,7 +195,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
194
195
|
version: '0'
|
|
195
196
|
segments:
|
|
196
197
|
- 0
|
|
197
|
-
hash:
|
|
198
|
+
hash: 3020588867676167718
|
|
198
199
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
199
200
|
none: false
|
|
200
201
|
requirements:
|
|
@@ -203,10 +204,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
203
204
|
version: '0'
|
|
204
205
|
segments:
|
|
205
206
|
- 0
|
|
206
|
-
hash:
|
|
207
|
+
hash: 3020588867676167718
|
|
207
208
|
requirements: []
|
|
208
209
|
rubyforge_project:
|
|
209
|
-
rubygems_version: 1.8.
|
|
210
|
+
rubygems_version: 1.8.23
|
|
210
211
|
signing_key:
|
|
211
212
|
specification_version: 3
|
|
212
213
|
summary: A ruby interface for Last.fm web services version 2.0
|
|
@@ -247,6 +248,7 @@ test_files:
|
|
|
247
248
|
- spec/fixtures/user_get_personal_tags_artists.xml
|
|
248
249
|
- spec/fixtures/user_get_personal_tags_tracks.xml
|
|
249
250
|
- spec/fixtures/user_get_recent_tracks.xml
|
|
251
|
+
- spec/fixtures/user_get_recent_tracks_malformed.xml
|
|
250
252
|
- spec/fixtures/user_get_top_albums.xml
|
|
251
253
|
- spec/fixtures/user_get_top_artists.xml
|
|
252
254
|
- spec/fixtures/user_get_top_tags.xml
|