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