def progress_report_status_check(progress_date)
if (progress_date < Date.now-14.days)
"overdue"
elsif (progress_date < Date.now-7.days)
"due"
end
end
or (less readable)
def progress_report_status_check(progress_date)
(progress_date < Date.now-14.days) ? "overdue" : ((progress_date < Date.now-7.days) ? "due" : "") : ""
end
end
Depending on your use, you can create named scopes, for example:
scope :overdue where(:progress_date < Date.now-14.days)
scope :due where(:progress_date < Date.now-7.days)
Then your calling code might be something like
def progress_report_status_check(progress_date)
self.overdue? ? "overdue" : self.due? ? : "due" : ""
end
end
source
share