Sha256: 3d8965d438b0e210453973b47c39734c71d1821122af6313f26e1bd680321f46
Contents?: true
Size: 991 Bytes
Versions: 2
Compression:
Stored size: 991 Bytes
Contents
class ShowSet < ActiveRecord::Base include Extensions::UUID has_many :songs, :foreign_key => :show_set_uuid, :primary_key => :uuid belongs_to :show, :foreign_key => :show_uuid, :primary_key => :uuid accepts_nested_attributes_for :songs attr_accessible :uuid, :show_uuid, :position, :encore def self.create_from(spec) ShowSet.create(spec) do |show_set| show_set.show = Show.find_by_uuid(spec[:show_uuid]) end end def self.update_from(spec) ShowSet.update(spec[:uuid], spec) do |show_set| show_set.show = Show.find_by_uuid(spec[:show_uuid]) end end def self.remove_from(spec) ShowSet.find_by_uuid(spec[:uuid]).delete end def self.find_all_by_year(year) ShowSet.joins(:show).where('shows.year = ?', year) end def self.encore?(sets, set) return false unless sets last = (sets.size - 1) == sets.index(set) song_size = set[:songs].size song_size < 3 && last end def encore? encore end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
gdshowsdb-0.9.1 | lib/gdshowsdb/models/show_set.rb |
gdshowsdb-0.9.0 | lib/gdshowsdb/models/show_set.rb |