resthome 0.6.3 → 0.6.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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.6.3
1
+ 0.6.4
@@ -0,0 +1,35 @@
1
+ require 'resthome'
2
+
3
+ class LastFmWebService < RESTHome
4
+ route :find_albums, '/2.0/', :query => {'method' => 'library.getalbums'}, :resource => 'albums'
5
+ # find_albums_by_user
6
+
7
+ route :find_neighbors, '/2.0/', :query => {'method' => 'user.getneighbours'} do |res|
8
+ res['neighbours']['user']
9
+ end
10
+ # find_neighbors_by_user
11
+
12
+ route :find_top_tracks, '/2.0/', :query => {'method' => 'user.gettoptracks'} do |res|
13
+ res['track']['track']
14
+ end
15
+ # find_top_tracks_by_user
16
+
17
+ route :find_track, '/2.0/', :query => {'method' => 'track.getinfo'}, :resource => 'track'
18
+ # find_track_by_artist_and_track
19
+
20
+ route :find_top_albums, '/2.0/', :query => {'method' => 'user.gettopalbums'} do |res|
21
+ res['topalbums']['album']
22
+ end
23
+ # find_top_albums_by_user
24
+
25
+ def initialize(api_key)
26
+ @api_key = api_key
27
+ self.base_uri = "http://ws.audioscrobbler.com"
28
+ end
29
+
30
+ def build_options!(options)
31
+ options[:query] ||= {}
32
+ options[:query]['format'] = 'json'
33
+ options[:query]['api_key'] = @api_key
34
+ end
35
+ end
data/lib/resthome.rb CHANGED
@@ -226,7 +226,7 @@ class RESTHome
226
226
  end
227
227
  end
228
228
 
229
- def method_missing(method, *args) #:nodoc:
229
+ def method_missing(method, *args, &block) #:nodoc:
230
230
  if method.to_s =~ /^find_(.*?)_by_(.*)$/
231
231
  find_method = "find_#{$1}"
232
232
  find_args = $2.split '_and_'
@@ -241,9 +241,9 @@ class RESTHome
241
241
  if start > 0
242
242
  send_args = args[0..(start-1)]
243
243
  send_args << options
244
- return self.send(find_method, *send_args)
244
+ return self.send(find_method, *send_args, &block)
245
245
  else
246
- return self.send(find_method, options)
246
+ return self.send(find_method, options, &block)
247
247
  end
248
248
  else
249
249
  super
data/resthome.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{resthome}
8
- s.version = "0.6.3"
8
+ s.version = "0.6.4"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Doug Youch"]
@@ -25,6 +25,7 @@ Gem::Specification.new do |s|
25
25
  "Rakefile",
26
26
  "VERSION",
27
27
  "examples/chargify_web_service.rb",
28
+ "examples/last_fm_web_service.rb",
28
29
  "examples/wordpress_web_service.rb",
29
30
  "lib/resthome.rb",
30
31
  "resthome.gemspec",
@@ -39,6 +40,7 @@ Gem::Specification.new do |s|
39
40
  s.summary = %q{RESTful web services consumer}
40
41
  s.test_files = [
41
42
  "examples/chargify_web_service.rb",
43
+ "examples/last_fm_web_service.rb",
42
44
  "examples/wordpress_web_service.rb",
43
45
  "spec/helper.rb",
44
46
  "spec/lib/resthome_spec.rb"
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resthome
3
3
  version: !ruby/object:Gem::Version
4
- hash: 1
4
+ hash: 15
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 6
9
- - 3
10
- version: 0.6.3
9
+ - 4
10
+ version: 0.6.4
11
11
  platform: ruby
12
12
  authors:
13
13
  - Doug Youch
@@ -138,6 +138,7 @@ files:
138
138
  - Rakefile
139
139
  - VERSION
140
140
  - examples/chargify_web_service.rb
141
+ - examples/last_fm_web_service.rb
141
142
  - examples/wordpress_web_service.rb
142
143
  - lib/resthome.rb
143
144
  - resthome.gemspec
@@ -180,6 +181,7 @@ specification_version: 3
180
181
  summary: RESTful web services consumer
181
182
  test_files:
182
183
  - examples/chargify_web_service.rb
184
+ - examples/last_fm_web_service.rb
183
185
  - examples/wordpress_web_service.rb
184
186
  - spec/helper.rb
185
187
  - spec/lib/resthome_spec.rb