1
0
Fork 0
oldhaven/app/models/music/album.rb

29 lines
638 B
Ruby
Raw Normal View History

2011-06-14 16:05:12 +00:00
class Album < ActiveRecord::Base
2011-06-14 20:01:42 +00:00
belongs_to :artist
2011-10-05 11:27:45 +00:00
has_many :tracks, :conditions => ['position > 0'], :order => 'bonus ASC, position ASC', :dependent => :destroy
2011-09-26 00:05:46 +00:00
has_many :album_formats
has_many :release_formats, :through => :album_formats
default_scope where(:master => true)
after_save :clear_artist_cache
2011-09-26 00:05:46 +00:00
def self.with_format f
joins(:release_formats).where(:release_formats => { :hash => f.to_s })
end
def serialize
{
name: name,
pic_url: pic_url,
year: year,
tracks: tracks.map(&:serialize)
}
end
private
def clear_artist_cache
artist.clear_cache
end
2011-06-14 16:05:12 +00:00
end