2013-03-07 22:22:17 -06:00
|
|
|
require 'active_support/all'
|
2018-11-12 08:55:42 -06:00
|
|
|
require 'user_time'
|
2013-03-07 22:22:17 -06:00
|
|
|
|
|
|
|
class Staleness
|
2020-10-10 13:58:13 +03:00
|
|
|
SECONDS_PER_DAY = 86_400
|
2013-09-05 12:23:26 +02:00
|
|
|
|
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-09-05 12:23:26 +02:00
|
|
|
(UserTime.new(current_user).time.utc - item.created_at.utc).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
|