Class: Dorsale::Flyboy::Task
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Dorsale::Flyboy::Task
- Includes:
- Search
- Defined in:
- app/models/dorsale/flyboy/task.rb
Instance Method Summary collapse
-
#initialize(*args) ⇒ Task
constructor
A new instance of Task.
- #snoozable? ⇒ Boolean
- #snooze ⇒ Object
- #snooze_default_reminder ⇒ Object
- #snooze_default_term ⇒ Object
- #term_not_passed_yet ⇒ Object
- #update_taskable_progress! ⇒ Object
- #validates_reminder_and_term ⇒ Object
Methods included from Search
Constructor Details
#initialize(*args) ⇒ Task
Returns a new instance of Task.
54 55 56 57 58 59 60 |
# File 'app/models/dorsale/flyboy/task.rb', line 54 def initialize(*args) super self.done = false if done.nil? self.reminder = Time.zone.now.to_date + snooze_default_reminder if reminder.nil? self.term = Time.zone.now.to_date + snooze_default_term if term.nil? self.progress = 0 if progress.nil? end |
Instance Method Details
#snoozable? ⇒ Boolean
91 92 93 94 95 |
# File 'app/models/dorsale/flyboy/task.rb', line 91 def snoozable? return false if done? return false if reminder >= Time.zone.now.to_date return true end |
#snooze ⇒ Object
69 70 71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/models/dorsale/flyboy/task.rb', line 69 def snooze if term_not_passed_yet if self.reminder + snooze_default_reminder > Time.zone.now.to_date self.reminder += snooze_default_reminder self.term += snooze_default_term else self.reminder = Time.zone.now.to_date + 1 end else self.reminder = Time.zone.now.to_date + snooze_default_reminder self.term = Time.zone.now.to_date + snooze_default_term end end |
#snooze_default_reminder ⇒ Object
83 84 85 |
# File 'app/models/dorsale/flyboy/task.rb', line 83 def snooze_default_reminder 7 end |
#snooze_default_term ⇒ Object
87 88 89 |
# File 'app/models/dorsale/flyboy/task.rb', line 87 def snooze_default_term 30 end |
#term_not_passed_yet ⇒ Object
97 98 99 |
# File 'app/models/dorsale/flyboy/task.rb', line 97 def term_not_passed_yet self.term > Time.zone.now.to_date end |
#update_taskable_progress! ⇒ Object
65 66 67 |
# File 'app/models/dorsale/flyboy/task.rb', line 65 def update_taskable_progress! taskable.try(:update_progress!) end |
#validates_reminder_and_term ⇒ Object
47 48 49 50 51 52 |
# File 'app/models/dorsale/flyboy/task.rb', line 47 def validates_reminder_and_term if reminder && term && reminder > term # errors.add(:reminder, "La date de relance doit être antérieure ou égale à la date d'échéance") errors.add(:reminder, :less_than, count: term) end end |