lastfm 1.25.0 → 1.26.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f63c89dd6801325bc3ef7d4dae45db193a9cfa95
4
- data.tar.gz: ebce4654a0710f9b701d9f810416bb0c2970234b
3
+ metadata.gz: 9d75da0eb84e97b713db6269b03898aa030dd269
4
+ data.tar.gz: e634865474c9d7f0942537d34c059bac4a030d3e
5
5
  SHA512:
6
- metadata.gz: ffd8e5506bb7ca90f856940215459dd3abef6e41f0fb4e7e592faca52bdee2befd85e44f9f2847b2cbaf89752da426ef7877f654fbaadb45c850a98bdbd2e323
7
- data.tar.gz: c884d34d74c9674fe87f55f00a71fc64db612c0ef873fa9db082bc94fdc24b02c938e4e732fc0b64f973862d21b35c4ecc18f0d75fc01f573a09c63dec5f443f
6
+ metadata.gz: 31bd09f2c32dfb2a080cf4f543a2efe8b64a117993308e97051547f4ca8129b7def45e9fbbf824a7e4bcfc9b15b142dd77570a8282748cdc1e80f477b6faa4c9
7
+ data.tar.gz: 8950457ca4a2fdcbd0f113979152dadaec1ae293f25ecae9f8b6acac977289e0d288a585881bbef92993707be9f4831703630b96070d568e86d8b13a76512286
data/.gitignore CHANGED
@@ -8,3 +8,4 @@ vendor/bundle
8
8
  Gemfile.lock
9
9
  bin
10
10
  .rvmrc
11
+ .project
data/README.md CHANGED
@@ -61,6 +61,7 @@ It supports methods which require [authentication](http://www.last.fm/api/authen
61
61
 
62
62
  ### Tag
63
63
 
64
+ * [tag.getInfo](http://www.last.fm/api/show/tag.getInfo)
64
65
  * [tag.getTopAlbums](http://www.last.fm/api/show/tag.getTopAlbums)
65
66
  * [tag.getTopArtists](http://www.last.fm/api/show/tag.getTopArtists)
66
67
  * [tag.getTopTracks](http://www.last.fm/api/show/tag.getTopTracks)
@@ -111,6 +112,10 @@ It supports methods which require [authentication](http://www.last.fm/api/authen
111
112
 
112
113
  * [geo.getEvents](http://www.last.fm/api/show?service#270)
113
114
 
115
+ ### Group
116
+
117
+ * [group.getMembers](http://www.last.fm/api/show/group.getMembers)
118
+
114
119
  ### Library
115
120
 
116
121
  * [library.getArtists](http://www.last.fm/api/show?service#322)
@@ -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.25.0"
15
+ gem.version = "1.26.0"
16
16
  gem.license = 'MIT'
17
17
 
18
18
  gem.add_dependency "xml-simple"
@@ -13,6 +13,7 @@ require 'lastfm/method_category/artist'
13
13
  require 'lastfm/method_category/auth'
14
14
  require 'lastfm/method_category/event'
15
15
  require 'lastfm/method_category/geo'
16
+ require 'lastfm/method_category/group'
16
17
  require 'lastfm/method_category/library'
17
18
  require 'lastfm/method_category/tag'
18
19
  require 'lastfm/method_category/tasteometer'
@@ -59,6 +60,10 @@ class Lastfm
59
60
  MethodCategory::Geo.new(self)
60
61
  end
61
62
 
63
+ def group
64
+ MethodCategory::Group.new(self)
65
+ end
66
+
62
67
  def library
63
68
  MethodCategory::Library.new(self)
64
69
  end
@@ -0,0 +1,16 @@
1
+ class Lastfm
2
+ module MethodCategory
3
+ class Group < Base
4
+ regular_method(
5
+ :get_members,
6
+ :required => [:group],
7
+ :optional => [
8
+ [:limit, nil],
9
+ [:page, nil]
10
+ ]
11
+ ) do |response|
12
+ Util.force_array(response.xml['members']['user'])
13
+ end
14
+ end
15
+ end
16
+ end
@@ -82,7 +82,7 @@ class Lastfm
82
82
  Lastfm::Util::force_array(result)
83
83
  end
84
84
 
85
- regular_method(
85
+ method_with_authentication(
86
86
  :get_recent_tracks,
87
87
  :required => [:user],
88
88
  :optional => [
@@ -0,0 +1,13 @@
1
+ <lfm status="ok">
2
+ <members for="Linux" page="1" perPage="50" totalPages="1" total="1">
3
+ <user>
4
+ <name>RJ</name>
5
+ <realname>Richard Jones</realname>
6
+ <image size="small">http://test.com/1.jpg</image>
7
+ <image size="medium">http://test.com/2.jpg</image>
8
+ <image size="large">http://test.com/3.jpg</image>
9
+ <image size="extralarge">http://test.com/4.jpg</image>
10
+ <url>http://www.last.fm/user/RJ</url>
11
+ </user>
12
+ </members>
13
+ </lfm>
@@ -0,0 +1,22 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
+
3
+ describe '#group' do
4
+ before { init_lastfm }
5
+
6
+ it 'should return an instance of Lastfm::Group' do
7
+ @lastfm.group.should be_an_instance_of(Lastfm::MethodCategory::Group)
8
+ end
9
+
10
+ describe '#get_members' do
11
+ it 'should get the members\' info' do
12
+ @lastfm.should_receive(:request).with('group.getMembers', {
13
+ :group => 'Linux',
14
+ :limit => nil,
15
+ :page => nil
16
+ }).and_return(make_response('group_get_members'))
17
+ members = @lastfm.group.get_members(:group => 'Linux')
18
+ members[0]['name'].should == 'RJ'
19
+ members.size.should == 1
20
+ end
21
+ end
22
+ end
@@ -227,7 +227,7 @@ describe '#user' do
227
227
  :limit => nil,
228
228
  :to => nil,
229
229
  :from => nil
230
- }).and_return(make_response('user_get_recent_tracks'))
230
+ }, :get, true, true).and_return(make_response('user_get_recent_tracks'))
231
231
  tracks = @lastfm.user.get_recent_tracks(:user => 'test')
232
232
  tracks[1]['artist']['content'].should == 'Kylie Minogue'
233
233
  tracks.size.should == 2
@@ -240,8 +240,8 @@ describe '#user' do
240
240
  :limit => nil,
241
241
  :to => nil,
242
242
  :from => nil
243
- }).and_return(make_response('user_get_recent_tracks_malformed'))
244
- tracks = @lastfm.user.get_recent_tracks(:user => 'test')
243
+ }, :get, true, true).and_return(make_response('user_get_recent_tracks_malformed'))
244
+ @lastfm.user.get_recent_tracks(:user => 'test')
245
245
  end
246
246
  end
247
247
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lastfm
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.25.0
4
+ version: 1.26.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - youpy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-13 00:00:00.000000000 Z
11
+ date: 2015-01-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xml-simple
@@ -105,6 +105,7 @@ files:
105
105
  - lib/lastfm/method_category/chart.rb
106
106
  - lib/lastfm/method_category/event.rb
107
107
  - lib/lastfm/method_category/geo.rb
108
+ - lib/lastfm/method_category/group.rb
108
109
  - lib/lastfm/method_category/library.rb
109
110
  - lib/lastfm/method_category/radio.rb
110
111
  - lib/lastfm/method_category/tag.rb
@@ -132,6 +133,7 @@ files:
132
133
  - spec/fixtures/chart_get_top_tracks.xml
133
134
  - spec/fixtures/event_get_info.xml
134
135
  - spec/fixtures/geo_get_events.xml
136
+ - spec/fixtures/group_get_members.xml
135
137
  - spec/fixtures/library_get_artists.xml
136
138
  - spec/fixtures/library_get_tracks.xml
137
139
  - spec/fixtures/ng.xml
@@ -181,6 +183,7 @@ files:
181
183
  - spec/method_specs/chart_spec.rb
182
184
  - spec/method_specs/event_spec.rb
183
185
  - spec/method_specs/geo_spec.rb
186
+ - spec/method_specs/group_spec.rb
184
187
  - spec/method_specs/library_spec.rb
185
188
  - spec/method_specs/radio_spec.rb
186
189
  - spec/method_specs/tag_spec.rb
@@ -210,7 +213,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
210
213
  version: '0'
211
214
  requirements: []
212
215
  rubyforge_project:
213
- rubygems_version: 2.2.1
216
+ rubygems_version: 2.2.0.rc.1
214
217
  signing_key:
215
218
  specification_version: 4
216
219
  summary: A ruby interface for Last.fm web services version 2.0
@@ -234,6 +237,7 @@ test_files:
234
237
  - spec/fixtures/chart_get_top_tracks.xml
235
238
  - spec/fixtures/event_get_info.xml
236
239
  - spec/fixtures/geo_get_events.xml
240
+ - spec/fixtures/group_get_members.xml
237
241
  - spec/fixtures/library_get_artists.xml
238
242
  - spec/fixtures/library_get_tracks.xml
239
243
  - spec/fixtures/ng.xml
@@ -283,6 +287,7 @@ test_files:
283
287
  - spec/method_specs/chart_spec.rb
284
288
  - spec/method_specs/event_spec.rb
285
289
  - spec/method_specs/geo_spec.rb
290
+ - spec/method_specs/group_spec.rb
286
291
  - spec/method_specs/library_spec.rb
287
292
  - spec/method_specs/radio_spec.rb
288
293
  - spec/method_specs/tag_spec.rb