# encoding: UTF-8 class Album < ActiveRecord::Base set_table_name 'musicbrainz.bh_release_group' belongs_to :artist has_many :releases, :conditions => "release_type = 1", :order => 'date ASC, id ASC' require 'iconv' def cover artist covers = AlbumPic.where(album_id: id) unless covers.empty? covers.first.extralarge else q_artist = CGI::escape(artist) q_album = CGI::escape(name) path = open( 'http://ws.audioscrobbler.com/2.0/' << '?method=album.getinfo' << '&api_key=04fda005dbf61a50af5abc3e90f111f2' << '&artist=' << q_artist << '&album=' << q_album ).read m = path.scan(/(.*)<\/image>/i) AlbumPic.new( album_id: id, small: m[0][1], medium: m[1][1], large: m[2][1], extralarge: m[3][1], mega: m[4][1] ) m[3][1] end end end