class UnderFire::AlbumFetch
Builds XML for Gracenote's ALBUM_FETCH query.
@example
search = UnderFire::Album_Fetch.new(:gn_id => '86372321-2C7F28ADC369EB90E53A7F6CA3A70D56') search.query => Response = The Beatles, Help!
Attributes
gn_id[RW]
@return [String] Gracenote ID for album
parameters[R]
@return [Hash] Search parameters with :mode removed.
query[R]
@return [String] XML string for query.
Public Class Methods
new(args)
click to toggle source
Requires album :gn_id or track :gn_id
@param [Hash] args the arguments for Album_Fetch @option args [String] :gn_id Gracenote ID of album or track @option args [String] :mode Either 'SINGLE_BEST' or 'SINGLE_BEST_COVER'
(Only needed if track :gn_id used)
Calls superclass method
# File lib/under_fire/album_fetch.rb, line 28 def initialize(args) super args @parameters = args.reject {|k,v| k == :mode} parameters.each do |k,v| send("#{k}=", v) end @query = build_query end
Public Instance Methods
build_query()
click to toggle source
Builds ALBUM_FETCH-specific part of ALBUM_FETCH query and adds it to the base query common to all query types. Called by constructor.
@return [String] XML string for ALBUM_FETCH query.
# File lib/under_fire/album_fetch.rb, line 39 def build_query build_base_query do |builder| builder.QUERY(cmd: "ALBUM_FETCH"){ builder.MODE "SINGLE_BEST_COVER" parameters.each do |k,v| builder.GN_ID gn_id end } end end