titanous-scrobbler 0.2.2

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.
Files changed (68) hide show
  1. data/History.txt +3 -0
  2. data/MIT-LICENSE +19 -0
  3. data/Manifest +67 -0
  4. data/README.rdoc +107 -0
  5. data/Rakefile +36 -0
  6. data/examples/album.rb +17 -0
  7. data/examples/artist.rb +13 -0
  8. data/examples/scrobble.rb +31 -0
  9. data/examples/tag.rb +11 -0
  10. data/examples/track.rb +6 -0
  11. data/examples/user.rb +14 -0
  12. data/lib/scrobbler/album.rb +143 -0
  13. data/lib/scrobbler/artist.rb +127 -0
  14. data/lib/scrobbler/base.rb +29 -0
  15. data/lib/scrobbler/chart.rb +31 -0
  16. data/lib/scrobbler/playing.rb +49 -0
  17. data/lib/scrobbler/rest.rb +47 -0
  18. data/lib/scrobbler/scrobble.rb +66 -0
  19. data/lib/scrobbler/simpleauth.rb +59 -0
  20. data/lib/scrobbler/tag.rb +104 -0
  21. data/lib/scrobbler/track.rb +96 -0
  22. data/lib/scrobbler/user.rb +192 -0
  23. data/lib/scrobbler/version.rb +3 -0
  24. data/lib/scrobbler.rb +20 -0
  25. data/scrobbler.gemspec +41 -0
  26. data/setup.rb +1585 -0
  27. data/test/fixtures/xml/album/info.xml +70 -0
  28. data/test/fixtures/xml/artist/fans.xml +18 -0
  29. data/test/fixtures/xml/artist/similar.xml +39 -0
  30. data/test/fixtures/xml/artist/topalbums.xml +36 -0
  31. data/test/fixtures/xml/artist/toptags.xml +18 -0
  32. data/test/fixtures/xml/artist/toptracks.xml +27 -0
  33. data/test/fixtures/xml/tag/topalbums.xml +39 -0
  34. data/test/fixtures/xml/tag/topartists.xml +39 -0
  35. data/test/fixtures/xml/tag/toptags.xml +252 -0
  36. data/test/fixtures/xml/tag/toptracks.xml +30 -0
  37. data/test/fixtures/xml/track/fans.xml +28 -0
  38. data/test/fixtures/xml/track/toptags.xml +33 -0
  39. data/test/fixtures/xml/user/friends.xml +21 -0
  40. data/test/fixtures/xml/user/neighbours.xml +18 -0
  41. data/test/fixtures/xml/user/profile.xml +12 -0
  42. data/test/fixtures/xml/user/recentbannedtracks.xml +24 -0
  43. data/test/fixtures/xml/user/recentlovedtracks.xml +24 -0
  44. data/test/fixtures/xml/user/recenttracks.xml +27 -0
  45. data/test/fixtures/xml/user/systemrecs.xml +18 -0
  46. data/test/fixtures/xml/user/topalbums.xml +42 -0
  47. data/test/fixtures/xml/user/topartists.xml +30 -0
  48. data/test/fixtures/xml/user/toptags.xml +18 -0
  49. data/test/fixtures/xml/user/toptracks.xml +27 -0
  50. data/test/fixtures/xml/user/weeklyalbumchart.xml +35 -0
  51. data/test/fixtures/xml/user/weeklyalbumchart_from_1138536002_to_1139140802.xml +35 -0
  52. data/test/fixtures/xml/user/weeklyartistchart.xml +38 -0
  53. data/test/fixtures/xml/user/weeklyartistchart_from_1138536002_to_1139140802.xml +59 -0
  54. data/test/fixtures/xml/user/weeklychartlist.xml +74 -0
  55. data/test/fixtures/xml/user/weeklytrackchart.xml +35 -0
  56. data/test/fixtures/xml/user/weeklytrackchart_from_1138536002_to_1139140802.xml +35 -0
  57. data/test/mocks/rest.rb +50 -0
  58. data/test/test_helper.rb +17 -0
  59. data/test/unit/album_test.rb +86 -0
  60. data/test/unit/artist_test.rb +82 -0
  61. data/test/unit/chart_test.rb +34 -0
  62. data/test/unit/playing_test.rb +53 -0
  63. data/test/unit/scrobble_test.rb +69 -0
  64. data/test/unit/simpleauth_test.rb +45 -0
  65. data/test/unit/tag_test.rb +65 -0
  66. data/test/unit/track_test.rb +42 -0
  67. data/test/unit/user_test.rb +291 -0
  68. metadata +172 -0
@@ -0,0 +1,291 @@
1
+ require File.dirname(__FILE__) + '/../test_helper.rb'
2
+
3
+ class TestUser < Test::Unit::TestCase
4
+
5
+ def setup
6
+ @user = Scrobbler::User.new('jnunemaker')
7
+ end
8
+
9
+ test 'should be able to find one user' do
10
+ assert_equal(@user.username, Scrobbler::User.find('jnunemaker').username)
11
+ end
12
+
13
+ test 'should be able to find multiple users' do
14
+ users = Scrobbler::User.find('jnunemaker', 'oaknd1', 'wharle')
15
+ assert_equal(%w{jnunemaker oaknd1 wharle}, users.collect(&:username))
16
+ end
17
+
18
+ test 'should be able to find multiple users using an array' do
19
+ users = Scrobbler::User.find(%w{jnunemaker oaknd1 wharle})
20
+ assert_equal(%w{jnunemaker oaknd1 wharle}, users.collect(&:username))
21
+ end
22
+
23
+ test 'should be able to load profile while finding' do
24
+ user = Scrobbler::User.find('jnunemaker', :include_profile => true)
25
+ assert_equal(@user.username, user.username)
26
+ assert_equal('3017870', user.id)
27
+ end
28
+
29
+ test 'should be able to load profile while finding multiple users' do
30
+ users = Scrobbler::User.find('jnunemaker', 'oaknd1', 'wharle', :include_profile => true)
31
+ assert_equal(3, users.size)
32
+ end
33
+
34
+ test 'should require a username' do
35
+ assert_raise(ArgumentError) { Scrobbler::User.new('') }
36
+ end
37
+
38
+ test 'should have api path' do
39
+ assert_equal('/1.0/user/jnunemaker', @user.api_path)
40
+ end
41
+
42
+ test 'should know the correct current events addresses' do
43
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/events.ics', @user.current_events(:ical))
44
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/events.ics', @user.current_events(:ics))
45
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/events.rss', @user.current_events(:rss))
46
+ end
47
+
48
+ test 'should know the correct friends events addresses' do
49
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/friendevents.ics', @user.friends_events(:ical))
50
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/friendevents.ics', @user.friends_events(:ics))
51
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/friendevents.rss', @user.friends_events(:rss))
52
+ end
53
+
54
+ test 'should know the correct recommended events addresses' do
55
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/eventsysrecs.ics', @user.recommended_events(:ical))
56
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/eventsysrecs.ics', @user.recommended_events(:ics))
57
+ assert_equal('http://ws.audioscrobbler.com/1.0/user/jnunemaker/eventsysrecs.rss', @user.recommended_events(:rss))
58
+ end
59
+
60
+ test 'should be able to include profile during initialization' do
61
+ user = Scrobbler::User.new('jnunemaker', :include_profile => true)
62
+ assert_equal('3017870', user.id)
63
+ assert_equal('4', user.cluster)
64
+ assert_equal('http://www.last.fm/user/jnunemaker/', user.url)
65
+ assert_equal('John Nunemaker', user.realname)
66
+ assert_equal('d5bbe280b7a41d4a87253361692ef105b983cf1a', user.mbox_sha1sum)
67
+ assert_equal('Dec 8, 2005', user.registered)
68
+ assert_equal('1134050307', user.registered_unixtime)
69
+ assert_equal('25', user.age)
70
+ assert_equal('m', user.gender)
71
+ assert_equal('United States', user.country)
72
+ assert_equal('13267', user.playcount)
73
+ assert_equal('http://panther1.last.fm/avatar/5cb420de0855dadf6bcb1090d8ff02bb.jpg', user.avatar)
74
+ end
75
+
76
+ test 'should be able to load users profile' do
77
+ @user.load_profile
78
+ assert_equal('3017870', @user.id)
79
+ assert_equal('4', @user.cluster)
80
+ assert_equal('http://www.last.fm/user/jnunemaker/', @user.url)
81
+ assert_equal('John Nunemaker', @user.realname)
82
+ assert_equal('d5bbe280b7a41d4a87253361692ef105b983cf1a', @user.mbox_sha1sum)
83
+ assert_equal('Dec 8, 2005', @user.registered)
84
+ assert_equal('1134050307', @user.registered_unixtime)
85
+ assert_equal('25', @user.age)
86
+ assert_equal('m', @user.gender)
87
+ assert_equal('United States', @user.country)
88
+ assert_equal('13267', @user.playcount)
89
+ assert_equal('http://panther1.last.fm/avatar/5cb420de0855dadf6bcb1090d8ff02bb.jpg', @user.avatar)
90
+ end
91
+
92
+ test "should be able to get a user's top artists" do
93
+ assert_equal(3, @user.top_artists.size)
94
+ first = @user.top_artists.first
95
+ assert_equal('Dixie Chicks', first.name)
96
+ assert_equal('3248ed2d-bada-41b5-a7b6-ac88faa1f1ac', first.mbid)
97
+ assert_equal('592', first.playcount)
98
+ assert_equal('1', first.rank)
99
+ assert_equal('http://www.last.fm/music/Dixie+Chicks', first.url)
100
+ assert_equal('http://static3.last.fm/storable/image/182497/small.jpg', first.thumbnail)
101
+ assert_equal('http://panther1.last.fm/proposedimages/sidebar/6/4037/512759.jpg', first.image)
102
+ end
103
+
104
+ test 'should be able to get top albums' do
105
+ assert_equal(3, @user.top_albums.size)
106
+ first = @user.top_albums.first
107
+ assert_equal('LeAnn Rimes', first.artist)
108
+ assert_equal('9092d8e1-9b38-4372-a96d-000b8561a8bc', first.artist_mbid)
109
+ assert_equal('This Woman', first.name)
110
+ assert_equal('080a4038-5156-460a-8dd5-daaa7d16b6a6', first.mbid)
111
+ assert_equal('297', first.playcount)
112
+ assert_equal('1', first.rank)
113
+ assert_equal('http://www.last.fm/music/LeAnn+Rimes/This+Woman', first.url)
114
+ assert_equal('http://images.amazon.com/images/P/B00067BD8K.01._SCMZZZZZZZ_.jpg', first.image(:small))
115
+ assert_equal('http://images.amazon.com/images/P/B00067BD8K.01._SCMZZZZZZZ_.jpg', first.image(:medium))
116
+ assert_equal('http://images.amazon.com/images/P/B00067BD8K.01._SCMZZZZZZZ_.jpg', first.image(:large))
117
+ end
118
+
119
+ test 'should be able to get top tracks' do
120
+ assert_equal(3, @user.top_tracks.size)
121
+ first = @user.top_tracks.first
122
+ assert_equal("Probably Wouldn't Be This Way", first.name)
123
+ assert_equal('LeAnn Rimes', first.artist)
124
+ assert_equal('9092d8e1-9b38-4372-a96d-000b8561a8bc', first.artist_mbid)
125
+ assert_equal("", first.mbid)
126
+ assert_equal('61', first.playcount)
127
+ assert_equal('1', first.rank)
128
+ assert_equal('http://www.last.fm/music/LeAnn+Rimes/_/Probably+Wouldn%27t+Be+This+Way', first.url)
129
+ end
130
+
131
+ test 'should be able to get top tags' do
132
+ assert_equal(3, @user.top_tags.size)
133
+ first = @user.top_tags.first
134
+ assert_equal("country", first.name)
135
+ assert_equal("6", first.count)
136
+ assert_equal("http://www.last.fm/tag/country", first.url)
137
+ end
138
+
139
+ # not implemented
140
+ test 'should be able to get top tags for artist' do
141
+ end
142
+ # not implemented
143
+ test 'should be able to get top tags for album' do
144
+ end
145
+ # not implemented
146
+ test 'should be able to get top tags for track' do
147
+ end
148
+
149
+ test 'should have friends' do
150
+ assert_equal(3, @user.friends.size)
151
+ first = @user.friends.first
152
+ assert_equal('oaknd1', first.username)
153
+ assert_equal('http://www.last.fm/user/oaknd1/', first.url)
154
+ assert_equal('http://panther1.last.fm/avatar/1894043b3e8995c51f7bb5e3210ef97a.jpg', first.avatar)
155
+ end
156
+
157
+ test 'should have neighbours' do
158
+ assert_equal(3, @user.neighbours.size)
159
+ first = @user.neighbours.first
160
+ assert_equal('xBluejeanbabyx', first.username)
161
+ assert_equal('http://www.last.fm/user/xBluejeanbabyx/', first.url)
162
+ assert_equal('http://panther1.last.fm/avatar/d4de2144dc9b651b02d5d633124f0205.jpg', first.avatar)
163
+ end
164
+
165
+ test 'should have recent tracks' do
166
+ assert_equal(3, @user.recent_tracks.size)
167
+ first = @user.recent_tracks.first
168
+ assert_equal('Recovering the Satellites', first.name)
169
+ assert_equal('Counting Crows', first.artist)
170
+ assert_equal('a0327dc2-dc76-44d5-aec6-47cd2dff1469', first.artist_mbid)
171
+ assert_equal('', first.mbid)
172
+ assert_equal('328bc43b-a81a-4dc0-844f-1a27880e5fb2', first.album_mbid)
173
+ assert_equal('Recovering the Satellites', first.album)
174
+ assert_equal('http://www.last.fm/music/Counting+Crows/_/Recovering+the+Satellites', first.url)
175
+ assert_equal(Time.mktime(2007, 5, 4, 21, 1, 00), first.date)
176
+ assert_equal('1178312462', first.date_uts)
177
+ end
178
+
179
+ test 'should have recent banned tracks' do
180
+ assert_equal(3, @user.recent_banned_tracks.size)
181
+ first = @user.recent_banned_tracks.first
182
+ assert_equal('Dress Rehearsal Rag', first.name)
183
+ assert_equal('Leonard Cohen', first.artist)
184
+ assert_equal('65314b12-0e08-43fa-ba33-baaa7b874c15', first.artist_mbid)
185
+ assert_equal('', first.mbid)
186
+ assert_equal('http://www.last.fm/music/Leonard+Cohen/_/Dress+Rehearsal+Rag', first.url)
187
+ assert_equal(Time.mktime(2006, 9, 27, 14, 19, 00), first.date)
188
+ assert_equal('1159366744', first.date_uts)
189
+ end
190
+
191
+ test 'should have recent loved tracks' do
192
+ assert_equal(3, @user.recent_loved_tracks.size)
193
+ first = @user.recent_loved_tracks.first
194
+ assert_equal('Am I Missing', first.name)
195
+ assert_equal('Dashboard Confessional', first.artist)
196
+ assert_equal('50549203-9602-451c-b49f-ff031ba8635c', first.artist_mbid)
197
+ assert_equal('', first.mbid)
198
+ assert_equal('http://www.last.fm/music/Dashboard+Confessional/_/Am+I+Missing', first.url)
199
+ assert_equal(Time.mktime(2006, 9, 26, 17, 43, 00), first.date)
200
+ assert_equal('1159292606', first.date_uts)
201
+ end
202
+
203
+ test 'should have recommendations' do
204
+ assert_equal(3, @user.recommendations.size)
205
+ first = @user.recommendations.first
206
+ assert_equal('Kaiser Chiefs', first.name)
207
+ assert_equal('90218af4-4d58-4821-8d41-2ee295ebbe21', first.mbid)
208
+ assert_equal('http://www.last.fm/music/Kaiser+Chiefs', first.url)
209
+ end
210
+
211
+ test 'should have charts' do
212
+ assert_equal(71, @user.charts.size)
213
+ first = @user.charts.first
214
+ assert_equal(1134302403, first.from)
215
+ assert_equal(1134907203, first.to)
216
+ end
217
+
218
+ test 'should have weekly artist chart' do
219
+ chart = @user.weekly_artist_chart
220
+ assert_equal(5, chart.size)
221
+ first = chart.first
222
+ assert_equal('Rascal Flatts', first.name)
223
+ assert_equal('6e0ae159-8449-4262-bba5-18ec87fa529f', first.mbid)
224
+ assert_equal('1', first.chartposition)
225
+ assert_equal('25', first.playcount)
226
+ assert_equal('http://www.last.fm/music/Rascal+Flatts', first.url)
227
+ end
228
+
229
+ test 'should have weekly artist chart for past weeks' do
230
+ chart = @user.weekly_artist_chart(1138536002, 1139140802)
231
+ assert_equal(8, chart.size)
232
+ first = chart.first
233
+ assert_equal('Jenny Lewis with The Watson Twins', first.name)
234
+ assert_equal('4b179fe2-dfa5-40b1-b6db-b56dbc3b5f09', first.mbid)
235
+ assert_equal('1', first.chartposition)
236
+ assert_equal('48', first.playcount)
237
+ assert_equal('http://www.last.fm/music/Jenny+Lewis+with+The+Watson+Twins', first.url)
238
+ end
239
+
240
+ test 'should have weekly album chart' do
241
+ chart = @user.weekly_album_chart
242
+ assert_equal(4, chart.size)
243
+ first = chart.first
244
+ assert_equal('Reba McEntire', first.artist)
245
+ assert_equal('3ec17e85-9284-4f4c-8831-4e56c2354cdb', first.artist_mbid)
246
+ assert_equal("Reba #1's", first.name)
247
+ assert_equal('', first.mbid)
248
+ assert_equal('1', first.chartposition)
249
+ assert_equal('13', first.playcount)
250
+ assert_equal('http://www.last.fm/music/Reba+McEntire/Reba%2B%25231%2527s', first.url)
251
+ end
252
+
253
+ test 'should have weekly album chart for past weeks' do
254
+ chart = @user.weekly_album_chart(1138536002, 1139140802)
255
+ assert_equal(4, chart.size)
256
+ first = chart.first
257
+ assert_equal('Jewel', first.artist)
258
+ assert_equal('abae8575-ec8a-4736-abc3-1ad5093a68aa', first.artist_mbid)
259
+ assert_equal("0304", first.name)
260
+ assert_equal('52b3f067-9d82-488c-9747-6d608d9b9486', first.mbid)
261
+ assert_equal('1', first.chartposition)
262
+ assert_equal('13', first.playcount)
263
+ assert_equal('http://www.last.fm/music/Jewel/0304', first.url)
264
+ end
265
+
266
+ test 'should have track album chart' do
267
+ chart = @user.weekly_track_chart
268
+ assert_equal(4, chart.size)
269
+ first = chart.first
270
+ assert_equal('Rebecca St. James', first.artist)
271
+ assert_equal('302716e4-a702-4bbc-baac-591f8a8e20bc', first.artist_mbid)
272
+ assert_equal('Omega', first.name)
273
+ assert_equal('', first.mbid)
274
+ assert_equal('1', first.chartposition)
275
+ assert_equal('2', first.playcount)
276
+ assert_equal('http://www.last.fm/music/Rebecca+St.+James/_/Omega', first.url)
277
+ end
278
+
279
+ test 'should have weekly track chart for past weeks' do
280
+ chart = @user.weekly_track_chart(1138536002, 1139140802)
281
+ assert_equal(4, chart.size)
282
+ first = chart.first
283
+ assert_equal('Natasha Bedingfield', first.artist)
284
+ assert_equal('8b477559-946e-4ef2-9fe1-446cff8fdd79', first.artist_mbid)
285
+ assert_equal('Unwritten', first.name)
286
+ assert_equal('', first.mbid)
287
+ assert_equal('1', first.chartposition)
288
+ assert_equal('8', first.playcount)
289
+ assert_equal('http://www.last.fm/music/Natasha+Bedingfield/_/Unwritten', first.url)
290
+ end
291
+ end
metadata ADDED
@@ -0,0 +1,172 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: titanous-scrobbler
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.2.2
5
+ platform: ruby
6
+ authors:
7
+ - John Nunemaker, Jonathan Rudenberg
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2008-12-23 00:00:00 -08:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: hpricot
17
+ version_requirement:
18
+ version_requirements: !ruby/object:Gem::Requirement
19
+ requirements:
20
+ - - ">="
21
+ - !ruby/object:Gem::Version
22
+ version: 0.4.86
23
+ version:
24
+ - !ruby/object:Gem::Dependency
25
+ name: activesupport
26
+ version_requirement:
27
+ version_requirements: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: 1.4.2
32
+ version:
33
+ - !ruby/object:Gem::Dependency
34
+ name: echoe
35
+ version_requirement:
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: "0"
41
+ version:
42
+ description: wrapper for audioscrobbler (last.fm) web services
43
+ email: nunemaker@gmail.com
44
+ executables: []
45
+
46
+ extensions: []
47
+
48
+ extra_rdoc_files:
49
+ - lib/scrobbler/album.rb
50
+ - lib/scrobbler/artist.rb
51
+ - lib/scrobbler/base.rb
52
+ - lib/scrobbler/chart.rb
53
+ - lib/scrobbler/playing.rb
54
+ - lib/scrobbler/rest.rb
55
+ - lib/scrobbler/scrobble.rb
56
+ - lib/scrobbler/simpleauth.rb
57
+ - lib/scrobbler/tag.rb
58
+ - lib/scrobbler/track.rb
59
+ - lib/scrobbler/user.rb
60
+ - lib/scrobbler/version.rb
61
+ - lib/scrobbler.rb
62
+ - README.rdoc
63
+ files:
64
+ - examples/album.rb
65
+ - examples/artist.rb
66
+ - examples/scrobble.rb
67
+ - examples/tag.rb
68
+ - examples/track.rb
69
+ - examples/user.rb
70
+ - History.txt
71
+ - lib/scrobbler/album.rb
72
+ - lib/scrobbler/artist.rb
73
+ - lib/scrobbler/base.rb
74
+ - lib/scrobbler/chart.rb
75
+ - lib/scrobbler/playing.rb
76
+ - lib/scrobbler/rest.rb
77
+ - lib/scrobbler/scrobble.rb
78
+ - lib/scrobbler/simpleauth.rb
79
+ - lib/scrobbler/tag.rb
80
+ - lib/scrobbler/track.rb
81
+ - lib/scrobbler/user.rb
82
+ - lib/scrobbler/version.rb
83
+ - lib/scrobbler.rb
84
+ - Manifest
85
+ - MIT-LICENSE
86
+ - Rakefile
87
+ - README.rdoc
88
+ - scrobbler.gemspec
89
+ - setup.rb
90
+ - test/fixtures/xml/album/info.xml
91
+ - test/fixtures/xml/artist/fans.xml
92
+ - test/fixtures/xml/artist/similar.xml
93
+ - test/fixtures/xml/artist/topalbums.xml
94
+ - test/fixtures/xml/artist/toptags.xml
95
+ - test/fixtures/xml/artist/toptracks.xml
96
+ - test/fixtures/xml/tag/topalbums.xml
97
+ - test/fixtures/xml/tag/topartists.xml
98
+ - test/fixtures/xml/tag/toptags.xml
99
+ - test/fixtures/xml/tag/toptracks.xml
100
+ - test/fixtures/xml/track/fans.xml
101
+ - test/fixtures/xml/track/toptags.xml
102
+ - test/fixtures/xml/user/friends.xml
103
+ - test/fixtures/xml/user/neighbours.xml
104
+ - test/fixtures/xml/user/profile.xml
105
+ - test/fixtures/xml/user/recentbannedtracks.xml
106
+ - test/fixtures/xml/user/recentlovedtracks.xml
107
+ - test/fixtures/xml/user/recenttracks.xml
108
+ - test/fixtures/xml/user/systemrecs.xml
109
+ - test/fixtures/xml/user/topalbums.xml
110
+ - test/fixtures/xml/user/topartists.xml
111
+ - test/fixtures/xml/user/toptags.xml
112
+ - test/fixtures/xml/user/toptracks.xml
113
+ - test/fixtures/xml/user/weeklyalbumchart.xml
114
+ - test/fixtures/xml/user/weeklyalbumchart_from_1138536002_to_1139140802.xml
115
+ - test/fixtures/xml/user/weeklyartistchart.xml
116
+ - test/fixtures/xml/user/weeklyartistchart_from_1138536002_to_1139140802.xml
117
+ - test/fixtures/xml/user/weeklychartlist.xml
118
+ - test/fixtures/xml/user/weeklytrackchart.xml
119
+ - test/fixtures/xml/user/weeklytrackchart_from_1138536002_to_1139140802.xml
120
+ - test/mocks/rest.rb
121
+ - test/test_helper.rb
122
+ - test/unit/album_test.rb
123
+ - test/unit/artist_test.rb
124
+ - test/unit/chart_test.rb
125
+ - test/unit/playing_test.rb
126
+ - test/unit/scrobble_test.rb
127
+ - test/unit/simpleauth_test.rb
128
+ - test/unit/tag_test.rb
129
+ - test/unit/track_test.rb
130
+ - test/unit/user_test.rb
131
+ has_rdoc: true
132
+ homepage: http://scrobbler.rubyforge.org
133
+ post_install_message:
134
+ rdoc_options:
135
+ - --line-numbers
136
+ - --inline-source
137
+ - --title
138
+ - Scrobbler
139
+ - --main
140
+ - README.rdoc
141
+ require_paths:
142
+ - lib
143
+ required_ruby_version: !ruby/object:Gem::Requirement
144
+ requirements:
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: "0"
148
+ version:
149
+ required_rubygems_version: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: "1.2"
154
+ version:
155
+ requirements: []
156
+
157
+ rubyforge_project: scrobbler
158
+ rubygems_version: 1.2.0
159
+ signing_key:
160
+ specification_version: 2
161
+ summary: wrapper for audioscrobbler (last.fm) web services
162
+ test_files:
163
+ - test/test_helper.rb
164
+ - test/unit/album_test.rb
165
+ - test/unit/artist_test.rb
166
+ - test/unit/chart_test.rb
167
+ - test/unit/playing_test.rb
168
+ - test/unit/scrobble_test.rb
169
+ - test/unit/simpleauth_test.rb
170
+ - test/unit/tag_test.rb
171
+ - test/unit/track_test.rb
172
+ - test/unit/user_test.rb