lib/lastfm.rb in lastfm-0.0.1 vs lib/lastfm.rb in lastfm-0.1.0
- old
+ new
@@ -1,14 +1,16 @@
+require 'lastfm/util'
require 'lastfm/response'
-require 'lastfm/method_category'
-
+require 'lastfm/method_category/base'
require 'lastfm/method_category/auth'
require 'lastfm/method_category/track'
+require 'lastfm/method_category/artist'
require 'rubygems'
require 'digest/md5'
require 'httparty'
+require 'active_support'
class Lastfm
API_ROOT = 'http://ws.audioscrobbler.com/2.0'
include HTTParty
@@ -23,26 +25,29 @@
@api_key = api_key
@api_secret = api_secret
end
def auth
- Auth.new(self)
+ MethodCategory::Auth.new(self)
end
def track
- Track.new(self)
+ MethodCategory::Track.new(self)
end
+ def artist
+ MethodCategory::Artist.new(self)
+ end
+
def request(method, params = {}, http_method = :get, with_signature = false, with_session = false)
params[:method] = method
params[:api_key] = @api_key
# http://www.lastfm.jp/group/Last.fm+Web+Services/forum/21604/_/497978
#params[:format] = format
params.update(:sk => @session) if with_session
params.update(:api_sig => Digest::MD5.hexdigest(build_method_signature(params))) if with_signature
- params.update(:format => 'json')
response = Response.new(self.class.send(http_method, '/', (http_method == :post ? :body : :query) => params).body)
unless response.success?
raise ApiError.new(response.message)
end