Class: Flyboy::Task
- Inherits:
-
ActiveRecord::Base
- Object
- ActiveRecord::Base
- Flyboy::Task
- Includes:
- Dorsale::Search
- Defined in:
- app/models/flyboy/task.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(*args) ⇒ Task
constructor
A new instance of Task.
- #snooze ⇒ Object
- #snooze_default_reminder ⇒ Object
- #snooze_default_term ⇒ Object
- #term_not_passed_yet ⇒ Object
- #update_goal_progress! ⇒ Object
- #validates_reminder_and_term ⇒ Object
Constructor Details
#initialize(*args) ⇒ Task
Returns a new instance of Task.
27 28 29 30 31 32 33 |
# File 'app/models/flyboy/task.rb', line 27 def initialize(*args) super self.done = false if done.nil? self.reminder = Date.today + snooze_default_reminder if reminder.nil? self.term = Date.today + snooze_default_term if term.nil? self.progress = 0 if progress.nil? end |
Class Method Details
.to_csv(options = {}) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
# File 'app/models/flyboy/task.rb', line 64 def self.to_csv( = {}) CSV.generate() do |csv| csv << [ "Dossier", "Avancement dossier", "Tâche", "Avancement tâche", "Echéance" ] all.each do |task| csv << [ task.goal.title, "#{task.goal.progress} %", task.title, "#{task.progress} %", I18n.l(task.term), ] end end end |
Instance Method Details
#snooze ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'app/models/flyboy/task.rb', line 42 def snooze if term_not_passed_yet if self.reminder + snooze_default_reminder > Date.today self.reminder += snooze_default_reminder self.term += snooze_default_term else self.reminder = Date.today + 1 end else self.reminder = Date.today + snooze_default_reminder self.term = Date.today + snooze_default_term end end |
#snooze_default_reminder ⇒ Object
56 57 58 |
# File 'app/models/flyboy/task.rb', line 56 def snooze_default_reminder 7 end |
#snooze_default_term ⇒ Object
60 61 62 |
# File 'app/models/flyboy/task.rb', line 60 def snooze_default_term 30 end |
#term_not_passed_yet ⇒ Object
86 87 88 |
# File 'app/models/flyboy/task.rb', line 86 def term_not_passed_yet self.term > Date.today end |
#update_goal_progress! ⇒ Object
38 39 40 |
# File 'app/models/flyboy/task.rb', line 38 def update_goal_progress! goal.update_progress! end |
#validates_reminder_and_term ⇒ Object
20 21 22 23 24 25 |
# File 'app/models/flyboy/task.rb', line 20 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 |