Class: Trollo::Card
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Trollo::Card
- Includes:
- Troller, Workflow
- Defined in:
- lib/trollo/card.rb
Instance Method Summary collapse
- #add_label(name) ⇒ Object
- #check ⇒ Object
- #check_due_at ⇒ Object
- #finish_tasks(identifier) ⇒ Object
- #has_label?(name) ⇒ Boolean
- #incomplete_tasks ⇒ Object
- #overdue_tasks ⇒ Object
- #remove_label(name) ⇒ Object
- #remove_tasks(identifier) ⇒ Object
- #set_ordinal ⇒ Object
- #tasks ⇒ Object
Methods included from Troller
Instance Method Details
#add_label(name) ⇒ Object
56 57 58 59 60 61 62 63 64 |
# File 'lib/trollo/card.rb', line 56 def add_label(name) return if has_label?(name) label = Label.where(name: name).first || Label.create!(name: name) self.labels << label if self.list && self.list.board self.list.board.add_label(name) end end |
#check ⇒ Object
46 47 48 49 |
# File 'lib/trollo/card.rb', line 46 def check check_due_at unarchive! if due_at && archived? end |
#check_due_at ⇒ Object
51 52 53 54 |
# File 'lib/trollo/card.rb', line 51 def check_due_at self.due_at = tasklists.minimum(:due_at) self.save! end |
#finish_tasks(identifier) ⇒ Object
66 67 68 |
# File 'lib/trollo/card.rb', line 66 def finish_tasks(identifier) self.tasklists.each{|tasklist| tasklist.finish_tasks(identifier)} end |
#has_label?(name) ⇒ Boolean
78 79 80 |
# File 'lib/trollo/card.rb', line 78 def has_label?(name) labels.pluck(:name).include?(name) end |
#incomplete_tasks ⇒ Object
38 39 40 |
# File 'lib/trollo/card.rb', line 38 def incomplete_tasks tasks.with_incomplete_state end |
#overdue_tasks ⇒ Object
42 43 44 |
# File 'lib/trollo/card.rb', line 42 def overdue_tasks incomplete_tasks.overdue end |
#remove_label(name) ⇒ Object
74 75 76 |
# File 'lib/trollo/card.rb', line 74 def remove_label(name) self.labels -= Label.where(name: name) end |
#remove_tasks(identifier) ⇒ Object
70 71 72 |
# File 'lib/trollo/card.rb', line 70 def remove_tasks(identifier) self.tasklists.each{|tasklist| tasklist.remove_tasks(identifier)} end |
#set_ordinal ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/trollo/card.rb', line 26 def set_ordinal self.ordinal ||= if list list.cards.length + 1 else 1 end end |
#tasks ⇒ Object
34 35 36 |
# File 'lib/trollo/card.rb', line 34 def tasks Trollo::Task.where(tasklist_id: tasklist_ids) end |