2013-03-07 22:22:17 -06:00
|
|
|
require 'active_support/all'
|
|
|
|
|
|
|
|
class Staleness
|
2013-03-10 13:46:22 -05:00
|
|
|
SECONDS_PER_DAY = 86400
|
2013-03-07 22:22:17 -06:00
|
|
|
def self.days_stale(item, current_user)
|
2013-03-10 22:48:27 -05:00
|
|
|
return 0 if cannot_be_stale(item, current_user)
|
2013-07-30 16:18:06 -05:00
|
|
|
(UserTime.new(current_user).time - item.created_at).to_i / SECONDS_PER_DAY
|
2013-03-07 22:22:17 -06:00
|
|
|
end
|
2013-03-10 22:48:27 -05:00
|
|
|
|
|
|
|
def self.cannot_be_stale(item, current_user)
|
|
|
|
return true if item.due || item.completed?
|
2013-07-30 16:18:06 -05:00
|
|
|
return true if item.created_at > UserTime.new(current_user).time
|
2013-03-10 22:48:27 -05:00
|
|
|
false
|
|
|
|
end
|
2013-03-07 22:22:17 -06:00
|
|
|
end
|
|
|
|
|