18 lines
511 B
Ruby
18 lines
511 B
Ruby
class ColumnView < ActiveRecord::Base
|
|
enum domain: Quantity.domains
|
|
|
|
belongs_to :project, required: true
|
|
has_and_belongs_to_many :quantities
|
|
|
|
validates :name, presence: true, uniqueness: {scope: :domain}
|
|
validates :domain, inclusion: {in: domains.keys}
|
|
|
|
# TODO: enforce column_view - quantity 'domain' identity
|
|
def toggle_column!(q)
|
|
column = self.quantities.find(q.id)
|
|
self.quantites.destroy(column)
|
|
rescue ActiveRecord::RecordNotFound
|
|
self.quantities.create!(quantity: q)
|
|
end
|
|
end
|