scrobbler2 0.0.4
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/.gitignore +1 -0
- data/README.rdoc +155 -0
- data/Rakefile +8 -0
- data/TODO +23 -0
- data/VERSION.yml +4 -0
- data/generators/acceptance_test/USAGE +9 -0
- data/generators/acceptance_test/acceptance_test_generator.rb +57 -0
- data/generators/acceptance_test/templates/acceptance_test.rb.erb +14 -0
- data/generators/resource/USAGE +8 -0
- data/generators/resource/resource_generator.rb +47 -0
- data/generators/resource/templates/resource.rb.erb +11 -0
- data/generators/resource/templates/spec.rb.erb +22 -0
- data/lib/scrobbler2.rb +23 -0
- data/lib/scrobbler2/album.rb +11 -0
- data/lib/scrobbler2/artist.rb +26 -0
- data/lib/scrobbler2/auth.rb +19 -0
- data/lib/scrobbler2/base.rb +100 -0
- data/lib/scrobbler2/event.rb +12 -0
- data/lib/scrobbler2/geo.rb +15 -0
- data/lib/scrobbler2/group.rb +14 -0
- data/lib/scrobbler2/library.rb +12 -0
- data/lib/scrobbler2/playlist.rb +10 -0
- data/lib/scrobbler2/tag.rb +18 -0
- data/lib/scrobbler2/track.rb +13 -0
- data/lib/scrobbler2/user.rb +29 -0
- data/lib/scrobbler2/venue.rb +12 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/scrobbler2.gemspec +243 -0
- data/tasks/jeweler.rake +15 -0
- data/tasks/rcov.rake +9 -0
- data/tasks/rdoc.rake +7 -0
- data/tasks/tests.rake +10 -0
- data/test/acceptance/album/info_test.rb +56 -0
- data/test/acceptance/artist/add_tags_test.rb +14 -0
- data/test/acceptance/artist/events_test.rb +47 -0
- data/test/acceptance/artist/info_test.rb +53 -0
- data/test/acceptance/artist/shouts_test.rb +48 -0
- data/test/acceptance/artist/similar_artists_test.rb +20 -0
- data/test/acceptance/artist/tags_test.rb +24 -0
- data/test/acceptance/artist/top_albums_test.rb +34 -0
- data/test/acceptance/artist/top_fans.rb +19 -0
- data/test/acceptance/artist/top_tags.rb +18 -0
- data/test/acceptance/artist/top_tracks.rb +47 -0
- data/test/acceptance/auth/auth_test.rb +21 -0
- data/test/acceptance/event/info_test.rb +66 -0
- data/test/acceptance/event/shouts_test.rb +49 -0
- data/test/acceptance/geo/events_test.rb +14 -0
- data/test/acceptance/geo/top_artists_test.rb +16 -0
- data/test/acceptance/geo/top_tracks_test.rb +16 -0
- data/test/acceptance/group/members_test.rb +60 -0
- data/test/acceptance/group/weekly_album_chart_test.rb +61 -0
- data/test/acceptance/group/weekly_artist_chart_test.rb +54 -0
- data/test/acceptance/group/weekly_chart_list_test.rb +39 -0
- data/test/acceptance/group/weekly_track_chart_test.rb +61 -0
- data/test/acceptance/library/albums_test.rb +34 -0
- data/test/acceptance/library/artists_test.rb +33 -0
- data/test/acceptance/library/tracks_test.rb +33 -0
- data/test/acceptance/playlist/fetch_test.rb +68 -0
- data/test/acceptance/shared/album.rb +41 -0
- data/test/acceptance/shared/artist.rb +16 -0
- data/test/acceptance/shared/paged_result.rb +16 -0
- data/test/acceptance/shared/top_fans.rb +29 -0
- data/test/acceptance/shared/top_tags.rb +23 -0
- data/test/acceptance/shared/track.rb +23 -0
- data/test/acceptance/tag/similar_test.rb +15 -0
- data/test/acceptance/tag/top_albums_test.rb +37 -0
- data/test/acceptance/tag/top_artists_test.rb +31 -0
- data/test/acceptance/tag/top_tags_test.rb +32 -0
- data/test/acceptance/tag/top_tracks_test.rb +33 -0
- data/test/acceptance/tag/weekly_artist_chart.rb +54 -0
- data/test/acceptance/tag/weekly_chart_list.rb +39 -0
- data/test/acceptance/test_helper.rb +15 -0
- data/test/acceptance/track/info_test.rb +47 -0
- data/test/acceptance/track/similar_test.rb +22 -0
- data/test/acceptance/track/top_fans_test.rb +23 -0
- data/test/acceptance/track/top_tags_test.rb +24 -0
- data/test/acceptance/user/events_test.rb +27 -0
- data/test/acceptance/user/friends_test.rb +14 -0
- data/test/acceptance/user/info_test.rb +19 -0
- data/test/acceptance/user/loved_tracks_test.rb +14 -0
- data/test/acceptance/user/neighbours_test.rb +14 -0
- data/test/acceptance/user/past_events_test.rb +14 -0
- data/test/acceptance/user/playlists_test.rb +14 -0
- data/test/acceptance/user/recent_tracks_test.rb +14 -0
- data/test/acceptance/user/recommended_artists_test.rb +16 -0
- data/test/acceptance/user/recommended_events_test.rb +16 -0
- data/test/acceptance/user/shouts_test.rb +14 -0
- data/test/acceptance/user/top_albums_test.rb +14 -0
- data/test/acceptance/user/top_artists_test.rb +14 -0
- data/test/acceptance/user/top_tags_test.rb +14 -0
- data/test/acceptance/user/top_tracks_test.rb +14 -0
- data/test/acceptance/user/weekly_album_chart_test.rb +14 -0
- data/test/acceptance/user/weekly_artist_chart_test.rb +14 -0
- data/test/acceptance/user/weekly_chart_list_test.rb +14 -0
- data/test/acceptance/user/weekly_track_chart_test.rb +14 -0
- data/test/acceptance/venue/events_test.rb +14 -0
- data/test/acceptance/venue/past_events_test.rb +14 -0
- data/test/generators/test_acceptance_test_generator.rb +46 -0
- data/test/generators/test_generator_helper.rb +29 -0
- data/test/generators/test_resource_generator.rb +71 -0
- data/test/unit/album_spec.rb +17 -0
- data/test/unit/artist_spec.rb +62 -0
- data/test/unit/auth_spec.rb +22 -0
- data/test/unit/base_spec.rb +193 -0
- data/test/unit/event_spec.rb +23 -0
- data/test/unit/geo_spec.rb +36 -0
- data/test/unit/group_spec.rb +38 -0
- data/test/unit/library_spec.rb +27 -0
- data/test/unit/playlist_spec.rb +18 -0
- data/test/unit/spec_helper.rb +7 -0
- data/test/unit/tag_spec.rb +50 -0
- data/test/unit/track_spec.rb +33 -0
- data/test/unit/user_spec.rb +148 -0
- data/test/unit/venue_spec.rb +29 -0
- metadata +272 -0
@@ -0,0 +1,23 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Event" do
|
4
|
+
before(:each) do
|
5
|
+
@event = Scrobbler2::Event.new "328799"
|
6
|
+
@event.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:event => '328799'}" do
|
10
|
+
@event.instance_variable_get(:@query).should == {:event => "328799"}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "info should call get with 'event.getInfo' with query params :event => @event" do
|
14
|
+
@event.class.should_receive(:get).with('event.getinfo', {:event => "328799"}, {}).and_return Hash.new
|
15
|
+
@event.info
|
16
|
+
end
|
17
|
+
|
18
|
+
it "shouts should call get with 'event.getShouts' with query params :event => @event" do
|
19
|
+
@event.class.should_receive(:get).with('event.getshouts', {:event => "328799"}, {}).and_return Hash.new
|
20
|
+
@event.shouts
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Geo" do
|
4
|
+
before(:each) do
|
5
|
+
@geo = Scrobbler2::Geo.new
|
6
|
+
@geo.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have no default query" do
|
10
|
+
@geo.instance_variable_get(:@query).should == {}
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
it "events should call get with 'geo.getevents'" do
|
16
|
+
@geo.class.should_receive(:get).with('geo.getevents', anything(), anything()).and_return Hash.new
|
17
|
+
@geo.events
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
it "top_artists should call get with 'geo.gettop_artists'" do
|
23
|
+
@geo.class.should_receive(:get).with('geo.gettopartists', anything(), anything()).and_return Hash.new
|
24
|
+
@geo.top_artists
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
it "top_tracks should call get with 'geo.gettop_tracks'" do
|
30
|
+
@geo.class.should_receive(:get).with('geo.gettoptracks', anything(), anything()).and_return Hash.new
|
31
|
+
@geo.top_tracks
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Group" do
|
4
|
+
before(:each) do
|
5
|
+
@group = Scrobbler2::Group.new "Stubborn Tiny Lights"
|
6
|
+
@group.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:group => 'Stubborn Tiny Lights'}" do
|
10
|
+
@group.instance_variable_get(:@query).should == {:group => 'Stubborn Tiny Lights'}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "members should call get with 'group.getMembers' with query params :group => @group" do
|
14
|
+
@group.class.should_receive(:get).with('group.getmembers', {:group => 'Stubborn Tiny Lights'}, {}).and_return Hash.new
|
15
|
+
@group.members
|
16
|
+
end
|
17
|
+
|
18
|
+
it "weekly_artist_chart should call get with 'group.getShouts' with query params :group => @group" do
|
19
|
+
@group.class.should_receive(:get).with('group.getweeklyartistchart', {:group => 'Stubborn Tiny Lights'}, {}).and_return Hash.new
|
20
|
+
@group.weekly_artist_chart
|
21
|
+
end
|
22
|
+
|
23
|
+
it "weekly_album_chart should call get with 'group.getShouts' with query params :group => @group" do
|
24
|
+
@group.class.should_receive(:get).with('group.getweeklyalbumchart', {:group => 'Stubborn Tiny Lights'}, {}).and_return Hash.new
|
25
|
+
@group.weekly_album_chart
|
26
|
+
end
|
27
|
+
|
28
|
+
it "weekly_track_chart should call get with 'group.getShouts' with query params :group => @group" do
|
29
|
+
@group.class.should_receive(:get).with('group.getweeklytrackchart', {:group => 'Stubborn Tiny Lights'}, {}).and_return Hash.new
|
30
|
+
@group.weekly_track_chart
|
31
|
+
end
|
32
|
+
|
33
|
+
it "weekly_chart_list should call get with 'group.getShouts' with query params :group => @group" do
|
34
|
+
@group.class.should_receive(:get).with('group.getweeklychartlist', {:group => 'Stubborn Tiny Lights'}, {}).and_return Hash.new
|
35
|
+
@group.weekly_chart_list
|
36
|
+
end
|
37
|
+
|
38
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Library" do
|
4
|
+
before(:each) do
|
5
|
+
@library = Scrobbler2::Library.new "gingerhendrix"
|
6
|
+
@library.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:user => 'gingerhendrix'}" do
|
10
|
+
@library.instance_variable_get(:@query).should == {:user => 'gingerhendrix'}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "tracks should call get with 'library.getTracks' with query params :user => @user" do
|
14
|
+
@library.class.should_receive(:get).with('library.gettracks', {:user => 'gingerhendrix'}, {}).and_return Hash.new
|
15
|
+
@library.tracks
|
16
|
+
end
|
17
|
+
|
18
|
+
it "artists should call get with 'library.getArtists' with query params :user => @user" do
|
19
|
+
@library.class.should_receive(:get).with('library.getartists', {:user => 'gingerhendrix'}, {}).and_return Hash.new
|
20
|
+
@library.artists
|
21
|
+
end
|
22
|
+
|
23
|
+
it "tracks should call get with 'library.getTracks' with query params :user => @user" do
|
24
|
+
@library.class.should_receive(:get).with('library.getalbums', {:user => 'gingerhendrix'}, {}).and_return Hash.new
|
25
|
+
@library.albums
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Playlist" do
|
4
|
+
before(:each) do
|
5
|
+
@playlist = Scrobbler2::Playlist.new "lastfm://playlist/album/2026126"
|
6
|
+
@playlist.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:playlistURL => 'lastfm://playlist/album/2026126'}" do
|
10
|
+
@playlist.instance_variable_get(:@query).should == {:playlistURL => 'lastfm://playlist/album/2026126'}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "fetch should call get with 'playlist.fetch' with query params :playlistURL => @url" do
|
14
|
+
@playlist.class.should_receive(:get).with('playlist.fetch', {:playlistURL => 'lastfm://playlist/album/2026126'}, {}).and_return Hash.new
|
15
|
+
@playlist.fetch
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
@@ -0,0 +1,50 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Tag" do
|
4
|
+
before(:each) do
|
5
|
+
@tag = Scrobbler2::Tag.new "Disco"
|
6
|
+
@tag.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:tag => 'Disco'}" do
|
10
|
+
@tag.instance_variable_get(:@query).should == {:tag => 'Disco'}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "similar should call get with 'tag.getSimilar' with query params :tag => @tag" do
|
14
|
+
@tag.class.should_receive(:get).with('tag.getsimilar', {:tag => "Disco"}, {}).and_return Hash.new
|
15
|
+
@tag.similar
|
16
|
+
end
|
17
|
+
|
18
|
+
it "top_albums should call get with 'tag.getTopAlbums' with query params :tag => @tag" do
|
19
|
+
@tag.class.should_receive(:get).with('tag.gettopalbums', {:tag => "Disco"}, {}).and_return Hash.new
|
20
|
+
@tag.top_albums
|
21
|
+
end
|
22
|
+
|
23
|
+
it "top_artists should call get with 'tag.getTopArtists' with query params :tag => @tag" do
|
24
|
+
@tag.class.should_receive(:get).with('tag.gettopartists', {:tag => "Disco"}, {}).and_return Hash.new
|
25
|
+
@tag.top_artists
|
26
|
+
end
|
27
|
+
|
28
|
+
it "top_tracks should call get with 'tag.getTopTracks' with query params :tag => @tag" do
|
29
|
+
@tag.class.should_receive(:get).with('tag.gettoptracks', {:tag => "Disco"}, {}).and_return Hash.new
|
30
|
+
@tag.top_tracks
|
31
|
+
end
|
32
|
+
|
33
|
+
it "top_tags should call get with 'tag.getTopTags' with query params :tag => @tag" do
|
34
|
+
@tag.class.should_receive(:get).with('tag.gettoptags', {:tag => "Disco"}, {}).and_return Hash.new
|
35
|
+
@tag.top_tags
|
36
|
+
end
|
37
|
+
|
38
|
+
it "weekly_artist_chart should call get with 'tag.getWeeklyArtistChart' with query params :tag => @tag" do
|
39
|
+
@tag.class.should_receive(:get).with('tag.getweeklyartistchart', {:tag => "Disco"}, {}).and_return Hash.new
|
40
|
+
@tag.weekly_artist_chart
|
41
|
+
end
|
42
|
+
|
43
|
+
|
44
|
+
it "weekly_chart_list should call get with 'tag.getWeeklyChartList' with query params :tag => @tag" do
|
45
|
+
@tag.class.should_receive(:get).with('tag.getweeklychartlist', {:tag => "Disco"}, {}).and_return Hash.new
|
46
|
+
@tag.weekly_chart_list
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Track" do
|
4
|
+
before(:each) do
|
5
|
+
@track = Scrobbler2::Track.new "Metallica", "Blackened"
|
6
|
+
@track.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:artist => 'Metallica', :track => 'Blackened'}" do
|
10
|
+
@track.instance_variable_get(:@query).should == {:artist => 'Metallica', :track => 'Blackened'}
|
11
|
+
end
|
12
|
+
|
13
|
+
it "info should call get with 'track.getInfo' with query params :artist => @artist, :track => @album" do
|
14
|
+
@track.class.should_receive(:get).with('track.getinfo', {:artist => "Metallica", :track => "Blackened"}, {}).and_return Hash.new
|
15
|
+
@track.info
|
16
|
+
end
|
17
|
+
|
18
|
+
it "similar should call get with 'track.getSimilar' with query params :artist => @artist, :track => @album" do
|
19
|
+
@track.class.should_receive(:get).with('track.getsimilar', {:artist => "Metallica", :track => "Blackened"}, {}).and_return Hash.new
|
20
|
+
@track.similar
|
21
|
+
end
|
22
|
+
|
23
|
+
it "top_fans should call get with 'track.getTopFans' with query params :artist => @artist, :track => @album" do
|
24
|
+
@track.class.should_receive(:get).with('track.gettopfans', {:artist => "Metallica", :track => "Blackened"}, {}).and_return Hash.new
|
25
|
+
@track.top_fans
|
26
|
+
end
|
27
|
+
|
28
|
+
it "top_tags should call get with 'track.getTopTags' with query params :artist => @artist, :track => @album" do
|
29
|
+
@track.class.should_receive(:get).with('track.gettoptags', {:artist => "Metallica", :track => "Blackened"}, {}).and_return Hash.new
|
30
|
+
@track.top_tags
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -0,0 +1,148 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "User" do
|
4
|
+
before(:each) do
|
5
|
+
@user = Scrobbler2::User.new "username"
|
6
|
+
@user.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:user => username}" do
|
10
|
+
@user.instance_variable_get(:@query).should == {:user => "username"}
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
it "events should call get with 'user.getevents'" do
|
16
|
+
@user.class.should_receive(:get).with('user.getevents', anything(), anything()).and_return Hash.new
|
17
|
+
@user.events
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
it "info should call get with 'user.getinfo'" do
|
23
|
+
@user.class.should_receive(:get_with_auth).with('user.getinfo', anything(), anything()).and_return Hash.new
|
24
|
+
@user.info
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
it "friends should call get with 'user.getfriends'" do
|
30
|
+
@user.class.should_receive(:get).with('user.getfriends', anything(), anything()).and_return Hash.new
|
31
|
+
@user.friends
|
32
|
+
end
|
33
|
+
|
34
|
+
|
35
|
+
|
36
|
+
it "loved_tracks should call get with 'user.getloved_tracks'" do
|
37
|
+
@user.class.should_receive(:get).with('user.getlovedtracks', anything(), anything()).and_return Hash.new
|
38
|
+
@user.loved_tracks
|
39
|
+
end
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
it "neighbours should call get with 'user.getneighbours'" do
|
44
|
+
@user.class.should_receive(:get).with('user.getneighbours', anything(), anything()).and_return Hash.new
|
45
|
+
@user.neighbours
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
it "past_events should call get with 'user.getpastevents'" do
|
51
|
+
@user.class.should_receive(:get).with('user.getpastevents', anything(), anything()).and_return Hash.new
|
52
|
+
@user.past_events
|
53
|
+
end
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
it "playlists should call get with 'user.getplaylists'" do
|
58
|
+
@user.class.should_receive(:get).with('user.getplaylists', anything(), anything()).and_return Hash.new
|
59
|
+
@user.playlists
|
60
|
+
end
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
it "recent_tracks should call get with 'user.getrecenttracks'" do
|
65
|
+
@user.class.should_receive(:get).with('user.getrecenttracks', anything(), anything()).and_return Hash.new
|
66
|
+
@user.recent_tracks
|
67
|
+
end
|
68
|
+
|
69
|
+
|
70
|
+
|
71
|
+
it "recommended_artists should call get with 'user.getrecommendedartists'" do
|
72
|
+
@user.class.should_receive(:get_with_auth).with('user.getrecommendedartists', anything(), anything()).and_return Hash.new
|
73
|
+
@user.recommended_artists
|
74
|
+
end
|
75
|
+
|
76
|
+
|
77
|
+
|
78
|
+
it "recommended_events should call get with 'user.getrecommendedevents'" do
|
79
|
+
@user.class.should_receive(:get_with_auth).with('user.getrecommendedevents', anything(), anything()).and_return Hash.new
|
80
|
+
@user.recommended_events
|
81
|
+
end
|
82
|
+
|
83
|
+
|
84
|
+
|
85
|
+
it "shouts should call get with 'user.getshouts'" do
|
86
|
+
@user.class.should_receive(:get).with('user.getshouts', anything(), anything()).and_return Hash.new
|
87
|
+
@user.shouts
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
|
92
|
+
it "top_albums should call get with 'user.gettop_albums'" do
|
93
|
+
@user.class.should_receive(:get).with('user.gettopalbums', anything(), anything()).and_return Hash.new
|
94
|
+
@user.top_albums
|
95
|
+
end
|
96
|
+
|
97
|
+
|
98
|
+
|
99
|
+
it "top_artists should call get with 'user.gettop_artists'" do
|
100
|
+
@user.class.should_receive(:get).with('user.gettopartists', anything(), anything()).and_return Hash.new
|
101
|
+
@user.top_artists
|
102
|
+
end
|
103
|
+
|
104
|
+
|
105
|
+
|
106
|
+
it "top_tags should call get with 'user.gettop_tags'" do
|
107
|
+
@user.class.should_receive(:get).with('user.gettoptags', anything(), anything()).and_return Hash.new
|
108
|
+
@user.top_tags
|
109
|
+
end
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
it "top_tracks should call get with 'user.gettop_tracks'" do
|
114
|
+
@user.class.should_receive(:get).with('user.gettoptracks', anything(), anything()).and_return Hash.new
|
115
|
+
@user.top_tracks
|
116
|
+
end
|
117
|
+
|
118
|
+
|
119
|
+
|
120
|
+
it "weekly_album_chart should call get with 'user.getweekly_album_chart'" do
|
121
|
+
@user.class.should_receive(:get).with('user.getweeklyalbumchart', anything(), anything()).and_return Hash.new
|
122
|
+
@user.weekly_album_chart
|
123
|
+
end
|
124
|
+
|
125
|
+
|
126
|
+
|
127
|
+
it "weekly_artist_chart should call get with 'user.getweekly_artist_chart'" do
|
128
|
+
@user.class.should_receive(:get).with('user.getweeklyartistchart', anything(), anything()).and_return Hash.new
|
129
|
+
@user.weekly_artist_chart
|
130
|
+
end
|
131
|
+
|
132
|
+
|
133
|
+
|
134
|
+
it "weekly_chart_list should call get with 'user.getweekly_chart_list'" do
|
135
|
+
@user.class.should_receive(:get).with('user.getweeklychartlist', anything(), anything()).and_return Hash.new
|
136
|
+
@user.weekly_chart_list
|
137
|
+
end
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
it "weekly_track_chart should call get with 'user.getweekly_track_chart'" do
|
142
|
+
@user.class.should_receive(:get).with('user.getweeklytrackchart', anything(), anything()).and_return Hash.new
|
143
|
+
@user.weekly_track_chart
|
144
|
+
end
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
require File.dirname(__FILE__) + "/spec_helper.rb"
|
2
|
+
|
3
|
+
describe "Venue" do
|
4
|
+
before(:each) do
|
5
|
+
@venue = Scrobbler2::Venue.new "8929268"
|
6
|
+
@venue.class.stub!(:get).and_return Hash.new
|
7
|
+
end
|
8
|
+
|
9
|
+
it "should have a default query {:venue => id}" do
|
10
|
+
@venue.instance_variable_get(:@query).should == {:venue => "8929268"}
|
11
|
+
end
|
12
|
+
|
13
|
+
|
14
|
+
|
15
|
+
it "events should call get with 'venue.getevents'" do
|
16
|
+
@venue.class.should_receive(:get).with('venue.getevents', anything(), anything()).and_return Hash.new
|
17
|
+
@venue.events
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
|
22
|
+
it "past_events should call get with 'venue.getpastevents'" do
|
23
|
+
@venue.class.should_receive(:get).with('venue.getpastevents', anything(), anything()).and_return Hash.new
|
24
|
+
@venue.past_events
|
25
|
+
end
|
26
|
+
|
27
|
+
|
28
|
+
|
29
|
+
end
|
metadata
ADDED
@@ -0,0 +1,272 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: scrobbler2
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.4
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Gareth Andrew
|
8
|
+
- Kurt Schrader
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
|
13
|
+
date: 2010-01-12 00:00:00 +00:00
|
14
|
+
default_executable:
|
15
|
+
dependencies:
|
16
|
+
- !ruby/object:Gem::Dependency
|
17
|
+
name: httparty
|
18
|
+
type: :runtime
|
19
|
+
version_requirement:
|
20
|
+
version_requirements: !ruby/object:Gem::Requirement
|
21
|
+
requirements:
|
22
|
+
- - ">="
|
23
|
+
- !ruby/object:Gem::Version
|
24
|
+
version: 0.2.2
|
25
|
+
version:
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: activesupport
|
28
|
+
type: :runtime
|
29
|
+
version_requirement:
|
30
|
+
version_requirements: !ruby/object:Gem::Requirement
|
31
|
+
requirements:
|
32
|
+
- - ">="
|
33
|
+
- !ruby/object:Gem::Version
|
34
|
+
version: "0"
|
35
|
+
version:
|
36
|
+
description: A ruby library for accessing the last.fm v2 webservices
|
37
|
+
email: gingerhendrix@gmail.com
|
38
|
+
executables: []
|
39
|
+
|
40
|
+
extensions: []
|
41
|
+
|
42
|
+
extra_rdoc_files:
|
43
|
+
- README.rdoc
|
44
|
+
- TODO
|
45
|
+
files:
|
46
|
+
- .gitignore
|
47
|
+
- README.rdoc
|
48
|
+
- Rakefile
|
49
|
+
- TODO
|
50
|
+
- VERSION.yml
|
51
|
+
- generators/acceptance_test/USAGE
|
52
|
+
- generators/acceptance_test/acceptance_test_generator.rb
|
53
|
+
- generators/acceptance_test/templates/acceptance_test.rb.erb
|
54
|
+
- generators/resource/USAGE
|
55
|
+
- generators/resource/resource_generator.rb
|
56
|
+
- generators/resource/templates/resource.rb.erb
|
57
|
+
- generators/resource/templates/spec.rb.erb
|
58
|
+
- lib/scrobbler2.rb
|
59
|
+
- lib/scrobbler2/album.rb
|
60
|
+
- lib/scrobbler2/artist.rb
|
61
|
+
- lib/scrobbler2/auth.rb
|
62
|
+
- lib/scrobbler2/base.rb
|
63
|
+
- lib/scrobbler2/event.rb
|
64
|
+
- lib/scrobbler2/geo.rb
|
65
|
+
- lib/scrobbler2/group.rb
|
66
|
+
- lib/scrobbler2/library.rb
|
67
|
+
- lib/scrobbler2/playlist.rb
|
68
|
+
- lib/scrobbler2/tag.rb
|
69
|
+
- lib/scrobbler2/track.rb
|
70
|
+
- lib/scrobbler2/user.rb
|
71
|
+
- lib/scrobbler2/venue.rb
|
72
|
+
- script/console
|
73
|
+
- script/destroy
|
74
|
+
- script/generate
|
75
|
+
- scrobbler2.gemspec
|
76
|
+
- tasks/jeweler.rake
|
77
|
+
- tasks/rcov.rake
|
78
|
+
- tasks/rdoc.rake
|
79
|
+
- tasks/tests.rake
|
80
|
+
- test/acceptance/album/info_test.rb
|
81
|
+
- test/acceptance/artist/add_tags_test.rb
|
82
|
+
- test/acceptance/artist/events_test.rb
|
83
|
+
- test/acceptance/artist/info_test.rb
|
84
|
+
- test/acceptance/artist/shouts_test.rb
|
85
|
+
- test/acceptance/artist/similar_artists_test.rb
|
86
|
+
- test/acceptance/artist/tags_test.rb
|
87
|
+
- test/acceptance/artist/top_albums_test.rb
|
88
|
+
- test/acceptance/artist/top_fans.rb
|
89
|
+
- test/acceptance/artist/top_tags.rb
|
90
|
+
- test/acceptance/artist/top_tracks.rb
|
91
|
+
- test/acceptance/auth/auth_test.rb
|
92
|
+
- test/acceptance/event/info_test.rb
|
93
|
+
- test/acceptance/event/shouts_test.rb
|
94
|
+
- test/acceptance/geo/events_test.rb
|
95
|
+
- test/acceptance/geo/top_artists_test.rb
|
96
|
+
- test/acceptance/geo/top_tracks_test.rb
|
97
|
+
- test/acceptance/group/members_test.rb
|
98
|
+
- test/acceptance/group/weekly_album_chart_test.rb
|
99
|
+
- test/acceptance/group/weekly_artist_chart_test.rb
|
100
|
+
- test/acceptance/group/weekly_chart_list_test.rb
|
101
|
+
- test/acceptance/group/weekly_track_chart_test.rb
|
102
|
+
- test/acceptance/library/albums_test.rb
|
103
|
+
- test/acceptance/library/artists_test.rb
|
104
|
+
- test/acceptance/library/tracks_test.rb
|
105
|
+
- test/acceptance/playlist/fetch_test.rb
|
106
|
+
- test/acceptance/shared/album.rb
|
107
|
+
- test/acceptance/shared/artist.rb
|
108
|
+
- test/acceptance/shared/paged_result.rb
|
109
|
+
- test/acceptance/shared/top_fans.rb
|
110
|
+
- test/acceptance/shared/top_tags.rb
|
111
|
+
- test/acceptance/shared/track.rb
|
112
|
+
- test/acceptance/tag/similar_test.rb
|
113
|
+
- test/acceptance/tag/top_albums_test.rb
|
114
|
+
- test/acceptance/tag/top_artists_test.rb
|
115
|
+
- test/acceptance/tag/top_tags_test.rb
|
116
|
+
- test/acceptance/tag/top_tracks_test.rb
|
117
|
+
- test/acceptance/tag/weekly_artist_chart.rb
|
118
|
+
- test/acceptance/tag/weekly_chart_list.rb
|
119
|
+
- test/acceptance/test_helper.rb
|
120
|
+
- test/acceptance/track/info_test.rb
|
121
|
+
- test/acceptance/track/similar_test.rb
|
122
|
+
- test/acceptance/track/top_fans_test.rb
|
123
|
+
- test/acceptance/track/top_tags_test.rb
|
124
|
+
- test/acceptance/user/events_test.rb
|
125
|
+
- test/acceptance/user/friends_test.rb
|
126
|
+
- test/acceptance/user/info_test.rb
|
127
|
+
- test/acceptance/user/loved_tracks_test.rb
|
128
|
+
- test/acceptance/user/neighbours_test.rb
|
129
|
+
- test/acceptance/user/past_events_test.rb
|
130
|
+
- test/acceptance/user/playlists_test.rb
|
131
|
+
- test/acceptance/user/recent_tracks_test.rb
|
132
|
+
- test/acceptance/user/recommended_artists_test.rb
|
133
|
+
- test/acceptance/user/recommended_events_test.rb
|
134
|
+
- test/acceptance/user/shouts_test.rb
|
135
|
+
- test/acceptance/user/top_albums_test.rb
|
136
|
+
- test/acceptance/user/top_artists_test.rb
|
137
|
+
- test/acceptance/user/top_tags_test.rb
|
138
|
+
- test/acceptance/user/top_tracks_test.rb
|
139
|
+
- test/acceptance/user/weekly_album_chart_test.rb
|
140
|
+
- test/acceptance/user/weekly_artist_chart_test.rb
|
141
|
+
- test/acceptance/user/weekly_chart_list_test.rb
|
142
|
+
- test/acceptance/user/weekly_track_chart_test.rb
|
143
|
+
- test/acceptance/venue/events_test.rb
|
144
|
+
- test/acceptance/venue/past_events_test.rb
|
145
|
+
- test/generators/test_acceptance_test_generator.rb
|
146
|
+
- test/generators/test_generator_helper.rb
|
147
|
+
- test/generators/test_resource_generator.rb
|
148
|
+
- test/unit/album_spec.rb
|
149
|
+
- test/unit/artist_spec.rb
|
150
|
+
- test/unit/auth_spec.rb
|
151
|
+
- test/unit/base_spec.rb
|
152
|
+
- test/unit/event_spec.rb
|
153
|
+
- test/unit/geo_spec.rb
|
154
|
+
- test/unit/group_spec.rb
|
155
|
+
- test/unit/library_spec.rb
|
156
|
+
- test/unit/playlist_spec.rb
|
157
|
+
- test/unit/spec_helper.rb
|
158
|
+
- test/unit/tag_spec.rb
|
159
|
+
- test/unit/track_spec.rb
|
160
|
+
- test/unit/user_spec.rb
|
161
|
+
- test/unit/venue_spec.rb
|
162
|
+
has_rdoc: true
|
163
|
+
homepage: http://github.com/gingerhendrix/scrobbler2
|
164
|
+
licenses: []
|
165
|
+
|
166
|
+
post_install_message:
|
167
|
+
rdoc_options:
|
168
|
+
- --charset=UTF-8
|
169
|
+
require_paths:
|
170
|
+
- lib
|
171
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
172
|
+
requirements:
|
173
|
+
- - ">="
|
174
|
+
- !ruby/object:Gem::Version
|
175
|
+
version: "0"
|
176
|
+
version:
|
177
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
178
|
+
requirements:
|
179
|
+
- - ">="
|
180
|
+
- !ruby/object:Gem::Version
|
181
|
+
version: "0"
|
182
|
+
version:
|
183
|
+
requirements: []
|
184
|
+
|
185
|
+
rubyforge_project:
|
186
|
+
rubygems_version: 1.3.5
|
187
|
+
signing_key:
|
188
|
+
specification_version: 3
|
189
|
+
summary: A ruby library for accessing the last.fm v2 webservices
|
190
|
+
test_files:
|
191
|
+
- test/acceptance/album/info_test.rb
|
192
|
+
- test/acceptance/artist/add_tags_test.rb
|
193
|
+
- test/acceptance/artist/events_test.rb
|
194
|
+
- test/acceptance/artist/info_test.rb
|
195
|
+
- test/acceptance/artist/shouts_test.rb
|
196
|
+
- test/acceptance/artist/similar_artists_test.rb
|
197
|
+
- test/acceptance/artist/tags_test.rb
|
198
|
+
- test/acceptance/artist/top_albums_test.rb
|
199
|
+
- test/acceptance/artist/top_fans.rb
|
200
|
+
- test/acceptance/artist/top_tags.rb
|
201
|
+
- test/acceptance/artist/top_tracks.rb
|
202
|
+
- test/acceptance/auth/auth_test.rb
|
203
|
+
- test/acceptance/event/info_test.rb
|
204
|
+
- test/acceptance/event/shouts_test.rb
|
205
|
+
- test/acceptance/geo/events_test.rb
|
206
|
+
- test/acceptance/geo/top_artists_test.rb
|
207
|
+
- test/acceptance/geo/top_tracks_test.rb
|
208
|
+
- test/acceptance/group/members_test.rb
|
209
|
+
- test/acceptance/group/weekly_album_chart_test.rb
|
210
|
+
- test/acceptance/group/weekly_artist_chart_test.rb
|
211
|
+
- test/acceptance/group/weekly_chart_list_test.rb
|
212
|
+
- test/acceptance/group/weekly_track_chart_test.rb
|
213
|
+
- test/acceptance/library/albums_test.rb
|
214
|
+
- test/acceptance/library/artists_test.rb
|
215
|
+
- test/acceptance/library/tracks_test.rb
|
216
|
+
- test/acceptance/playlist/fetch_test.rb
|
217
|
+
- test/acceptance/shared/album.rb
|
218
|
+
- test/acceptance/shared/artist.rb
|
219
|
+
- test/acceptance/shared/paged_result.rb
|
220
|
+
- test/acceptance/shared/top_fans.rb
|
221
|
+
- test/acceptance/shared/top_tags.rb
|
222
|
+
- test/acceptance/shared/track.rb
|
223
|
+
- test/acceptance/tag/similar_test.rb
|
224
|
+
- test/acceptance/tag/top_albums_test.rb
|
225
|
+
- test/acceptance/tag/top_artists_test.rb
|
226
|
+
- test/acceptance/tag/top_tags_test.rb
|
227
|
+
- test/acceptance/tag/top_tracks_test.rb
|
228
|
+
- test/acceptance/tag/weekly_artist_chart.rb
|
229
|
+
- test/acceptance/tag/weekly_chart_list.rb
|
230
|
+
- test/acceptance/test_helper.rb
|
231
|
+
- test/acceptance/track/info_test.rb
|
232
|
+
- test/acceptance/track/similar_test.rb
|
233
|
+
- test/acceptance/track/top_fans_test.rb
|
234
|
+
- test/acceptance/track/top_tags_test.rb
|
235
|
+
- test/acceptance/user/events_test.rb
|
236
|
+
- test/acceptance/user/friends_test.rb
|
237
|
+
- test/acceptance/user/info_test.rb
|
238
|
+
- test/acceptance/user/loved_tracks_test.rb
|
239
|
+
- test/acceptance/user/neighbours_test.rb
|
240
|
+
- test/acceptance/user/past_events_test.rb
|
241
|
+
- test/acceptance/user/playlists_test.rb
|
242
|
+
- test/acceptance/user/recent_tracks_test.rb
|
243
|
+
- test/acceptance/user/recommended_artists_test.rb
|
244
|
+
- test/acceptance/user/recommended_events_test.rb
|
245
|
+
- test/acceptance/user/shouts_test.rb
|
246
|
+
- test/acceptance/user/top_albums_test.rb
|
247
|
+
- test/acceptance/user/top_artists_test.rb
|
248
|
+
- test/acceptance/user/top_tags_test.rb
|
249
|
+
- test/acceptance/user/top_tracks_test.rb
|
250
|
+
- test/acceptance/user/weekly_album_chart_test.rb
|
251
|
+
- test/acceptance/user/weekly_artist_chart_test.rb
|
252
|
+
- test/acceptance/user/weekly_chart_list_test.rb
|
253
|
+
- test/acceptance/user/weekly_track_chart_test.rb
|
254
|
+
- test/acceptance/venue/events_test.rb
|
255
|
+
- test/acceptance/venue/past_events_test.rb
|
256
|
+
- test/generators/test_acceptance_test_generator.rb
|
257
|
+
- test/generators/test_generator_helper.rb
|
258
|
+
- test/generators/test_resource_generator.rb
|
259
|
+
- test/unit/album_spec.rb
|
260
|
+
- test/unit/artist_spec.rb
|
261
|
+
- test/unit/auth_spec.rb
|
262
|
+
- test/unit/base_spec.rb
|
263
|
+
- test/unit/event_spec.rb
|
264
|
+
- test/unit/geo_spec.rb
|
265
|
+
- test/unit/group_spec.rb
|
266
|
+
- test/unit/library_spec.rb
|
267
|
+
- test/unit/playlist_spec.rb
|
268
|
+
- test/unit/spec_helper.rb
|
269
|
+
- test/unit/tag_spec.rb
|
270
|
+
- test/unit/track_spec.rb
|
271
|
+
- test/unit/user_spec.rb
|
272
|
+
- test/unit/venue_spec.rb
|