class MusicBrainz::Artist
Attributes
artist_info[RW]
metadata[RW]
name[RW]
release_groups[RW]
releases[RW]
works[RW]
Public Class Methods
new(mbid, query=[])
click to toggle source
# File lib/musicbrainz/artist.rb, line 10 def initialize(mbid, query=[]) #Valid sub-queries: artists, labels, recordings, release-groups @mbid=mbid.is_mbid ? mbid : false if query.present? && query!=[] @query=query.join("+") else @query='releases' end @method='artist' get_request(@method, @mbid, @query) end
Public Instance Methods
get_info()
click to toggle source
# File lib/musicbrainz/artist.rb, line 31 def get_info @artist_info={:type => @metadata['artist']['type'], :mbid => @metadata['artist']['id']} end
get_release_groups()
click to toggle source
# File lib/musicbrainz/artist.rb, line 43 def get_release_groups release_groups=@metadata['artist']['release_group_list']['release_group'] @release_groups=Array.new release_groups.each do |r| @release_groups<<OpenStruct.new(r) end end
get_releases()
click to toggle source
# File lib/musicbrainz/artist.rb, line 35 def get_releases releases=@metadata['artist']['release_list']['release'] @releases=Array.new releases.each do |r| @releases<<OpenStruct.new(r) end end
get_request(method, mbid, query=[])
click to toggle source
# File lib/musicbrainz/artist.rb, line 22 def get_request(method, mbid, query=[]) @request=self.class.get(method, mbid, query) @metadata=@request['metadata'] get_releases if query.include?('releases') get_info if query.include?('info') get_release_groups if query.include?('release-groups') get_works if query.include?('works') end
get_works()
click to toggle source
# File lib/musicbrainz/artist.rb, line 51 def get_works works=@metadata['artist']['work_list']['work'] @works=Array.new works.each do |r| @works<<OpenStruct.new(r) end end