lastfm 1.15.1 → 1.16.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -56,6 +56,7 @@ It supports methods which require {authentication}[http://www.last.fm/api/authen
56
56
  === Tag
57
57
 
58
58
  * {tag.getTopArtists}[http://www.lastfm.jp/api/show/tag.getTopArtists]
59
+ * {tag.getTopTracks}[http://www.lastfm.jp/api/show/tag.getTopTracks]
59
60
 
60
61
  === Tasteometer
61
62
 
@@ -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.15.1"
15
+ gem.version = "1.16.0"
16
16
 
17
17
  gem.add_dependency "xml-simple"
18
18
  gem.add_dependency "httparty"
@@ -4,6 +4,10 @@ class Lastfm
4
4
  regular_method :get_top_artists, [:tag], [[:limit, nil], [:page, nil]] do |response|
5
5
  response.xml['topartists']['artist']
6
6
  end
7
+
8
+ regular_method :get_top_tracks, [:tag], [[:limit, nil], [:page, nil]] do |response|
9
+ response.xml['toptracks']['track']
10
+ end
7
11
  end
8
12
  end
9
13
  end
@@ -0,0 +1,101 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <lfm status="ok">
3
+ <toptracks tag="Disco" page="1" perPage="5" totalPages="200" total="1000">
4
+
5
+ <track rank="1">
6
+ <name>Stayin' Alive</name>
7
+ <duration>281</duration>
8
+
9
+ <mbid>14018054-d7fa-45e4-9689-33792aade877</mbid>
10
+
11
+
12
+ <url>http://www.last.fm/music/Bee+Gees/_/Stayin%27+Alive</url>
13
+ <streamable fulltrack="0">1</streamable>
14
+ <artist>
15
+ <name>Bee Gees</name>
16
+ <mbid>bf0f7e29-dfe1-416c-b5c6-f9ebc19ea810</mbid>
17
+
18
+ <url>http://www.last.fm/music/Bee+Gees</url>
19
+ </artist>
20
+ <image size="small">http://userserve-ak.last.fm/serve/34s/72573304.png</image>
21
+ <image size="medium">http://userserve-ak.last.fm/serve/64s/72573304.png</image>
22
+ <image size="large">http://userserve-ak.last.fm/serve/126/72573304.png</image>
23
+ <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/72573304.png</image>
24
+ </track> <track rank="2">
25
+ <name>September</name>
26
+ <duration>218</duration>
27
+
28
+ <mbid>0548a4b8-6b8f-4266-8f9b-db822d09c30c</mbid>
29
+
30
+
31
+ <url>http://www.last.fm/music/Earth,+Wind+&amp;+Fire/_/September</url>
32
+ <streamable fulltrack="0">1</streamable>
33
+ <artist>
34
+ <name>Earth, Wind &amp; Fire</name>
35
+ <mbid>535afeda-2538-435d-9dd1-5e10be586774</mbid>
36
+
37
+ <url>http://www.last.fm/music/Earth,+Wind+&amp;+Fire</url>
38
+ </artist>
39
+ <image size="small">http://userserve-ak.last.fm/serve/34s/9699191.jpg</image>
40
+ <image size="medium">http://userserve-ak.last.fm/serve/64s/9699191.jpg</image>
41
+ <image size="large">http://userserve-ak.last.fm/serve/126/9699191.jpg</image>
42
+ <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/9699191.jpg</image>
43
+ </track> <track rank="3">
44
+ <name>Dancing Queen</name>
45
+ <duration>228</duration>
46
+
47
+ <mbid>0106d274-9da9-41c2-8f62-8ba327e38530</mbid>
48
+
49
+
50
+ <url>http://www.last.fm/music/ABBA/_/Dancing+Queen</url>
51
+ <streamable fulltrack="0">1</streamable>
52
+ <artist>
53
+ <name>ABBA</name>
54
+ <mbid>d87e52c5-bb8d-4da8-b941-9f4928627dc8</mbid>
55
+
56
+ <url>http://www.last.fm/music/ABBA</url>
57
+ </artist>
58
+ <image size="small">http://userserve-ak.last.fm/serve/34s/41774271.png</image>
59
+ <image size="medium">http://userserve-ak.last.fm/serve/64s/41774271.png</image>
60
+ <image size="large">http://userserve-ak.last.fm/serve/126/41774271.png</image>
61
+ <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/41774271.png</image>
62
+ </track> <track rank="4">
63
+ <name>I Will Survive</name>
64
+ <duration>190</duration>
65
+
66
+ <mbid>b2f17e7a-ac67-4513-8676-148ed235cc76</mbid>
67
+
68
+
69
+ <url>http://www.last.fm/music/Gloria+Gaynor/_/I+Will+Survive</url>
70
+ <streamable fulltrack="0">1</streamable>
71
+ <artist>
72
+ <name>Gloria Gaynor</name>
73
+ <mbid>0efc0853-78ed-40f7-b5be-b1b4cc866dba</mbid>
74
+
75
+ <url>http://www.last.fm/music/Gloria+Gaynor</url>
76
+ </artist>
77
+ <image size="small">http://userserve-ak.last.fm/serve/34s/4351744.jpg</image>
78
+ <image size="medium">http://userserve-ak.last.fm/serve/64s/4351744.jpg</image>
79
+ <image size="large">http://userserve-ak.last.fm/serve/126/4351744.jpg</image>
80
+ <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/4351744.jpg</image>
81
+ </track> <track rank="5">
82
+ <name>Night Fever</name>
83
+ <duration>211</duration>
84
+
85
+ <mbid>c2d35928-c017-4491-9da3-f59ed8e6d7c8</mbid>
86
+
87
+
88
+ <url>http://www.last.fm/music/Bee+Gees/_/Night+Fever</url>
89
+ <streamable fulltrack="0">0</streamable>
90
+ <artist>
91
+ <name>Bee Gees</name>
92
+ <mbid>bf0f7e29-dfe1-416c-b5c6-f9ebc19ea810</mbid>
93
+
94
+ <url>http://www.last.fm/music/Bee+Gees</url>
95
+ </artist>
96
+ <image size="small">http://userserve-ak.last.fm/serve/34s/72573304.png</image>
97
+ <image size="medium">http://userserve-ak.last.fm/serve/64s/72573304.png</image>
98
+ <image size="large">http://userserve-ak.last.fm/serve/126/72573304.png</image>
99
+ <image size="extralarge">http://userserve-ak.last.fm/serve/300x300/72573304.png</image>
100
+ </track></toptracks></lfm>
101
+
@@ -22,4 +22,22 @@ describe '#tag' do
22
22
  artists[1]['name'].should == 'ABBA'
23
23
  end
24
24
  end
25
+
26
+ describe '#get_top_tracks' do
27
+ it 'should get top tracks of a given tag' do
28
+ @lastfm.should_receive(:request).with('tag.getTopTracks', {
29
+ :tag => 'Disco',
30
+ :limit => 5,
31
+ :page => nil
32
+ }).and_return(make_response('tag_get_top_tracks'))
33
+
34
+ tracks = @lastfm.tag.get_top_tracks(:tag => 'Disco', :limit => 5)
35
+ tracks.size.should == 5
36
+ tracks[0]['name'].should == 'Stayin\' Alive'
37
+ tracks[0]['url'].should == 'http://www.last.fm/music/Bee+Gees/_/Stayin%27+Alive'
38
+ tracks[0]['artist']['name'].should == 'Bee Gees'
39
+ tracks[1]['name'].should == 'September'
40
+ end
41
+ end
42
+
25
43
  end
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.15.1
4
+ version: 1.16.0
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-02-03 00:00:00.000000000 Z
12
+ date: 2013-02-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: xml-simple
@@ -144,6 +144,7 @@ files:
144
144
  - spec/fixtures/radio_get_playlist.xml
145
145
  - spec/fixtures/radio_get_playlist_single_track.xml
146
146
  - spec/fixtures/tag_get_top_artists.xml
147
+ - spec/fixtures/tag_get_top_tracks.xml
147
148
  - spec/fixtures/tasteometer_compare.xml
148
149
  - spec/fixtures/track_get_correction.xml
149
150
  - spec/fixtures/track_get_info.xml
@@ -203,7 +204,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
203
204
  version: '0'
204
205
  segments:
205
206
  - 0
206
- hash: 1492059630448344401
207
+ hash: 1260931291668534361
207
208
  required_rubygems_version: !ruby/object:Gem::Requirement
208
209
  none: false
209
210
  requirements:
@@ -212,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
212
213
  version: '0'
213
214
  segments:
214
215
  - 0
215
- hash: 1492059630448344401
216
+ hash: 1260931291668534361
216
217
  requirements: []
217
218
  rubyforge_project:
218
219
  rubygems_version: 1.8.24
@@ -240,6 +241,7 @@ test_files:
240
241
  - spec/fixtures/radio_get_playlist.xml
241
242
  - spec/fixtures/radio_get_playlist_single_track.xml
242
243
  - spec/fixtures/tag_get_top_artists.xml
244
+ - spec/fixtures/tag_get_top_tracks.xml
243
245
  - spec/fixtures/tasteometer_compare.xml
244
246
  - spec/fixtures/track_get_correction.xml
245
247
  - spec/fixtures/track_get_info.xml