Sha256: 40e9396a14283f71a1fc380685a3b887ab5ae824aabf1bad2f4473148ce2890f
Contents?: true
Size: 1.32 KB
Versions: 1
Compression:
Stored size: 1.32 KB
Contents
# == Schema Information # # Table name: deadlines # # id :integer not null, primary key # area_id :integer not null # category_id :integer not null # project_id :integer not null # due_date :date not null # description :text # created_at :datetime # updated_at :datetime # complete :boolean default(FALSE) # class Deadline < ActiveRecord::Base belongs_to :area belongs_to :category belongs_to :project validates :area_id, presence: true validates :category_id, presence: true validates :project_id, presence: true validates :due_date, presence: true validates :area, inclusion: { in: proc { |record| record.project ? record.project.areas : [] } } validates :category, inclusion: { in: proc { |record| record.project ? record.project.categories : [] } } def finishes project.finishes.where(finishes: { category_id: category_id, area_id: area_id }) end def selections finishes.selected end def status return :green if selection_count > 0 return :red if due_date <= Date.today return :orange if (due_date - 1.week) < Date.today :yellow end def selection_count selections.count end def set_completion_status! self.complete = (status == :green) save! end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
self_systeem-0.1.0 | test/dummy_app/app/models/deadline.rb |