Module: RelativeTime
- Defined in:
- lib/relative_time.rb
Instance Method Summary collapse
-
#to_relative ⇒ Object
derived from stackoverflow.com/a/195894.
Instance Method Details
#to_relative ⇒ Object
derived from stackoverflow.com/a/195894
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/relative_time.rb', line 5 def to_relative a = (Time.now - self).to_i case a when 0 then 'just now' when 1 then 'a second ago' when 2..59 then a.to_s + ' seconds ago' when 60..119 then 'a minute ago' # 120 = 2 minutes when 120..3540 then (a / 60).to_i.to_s + ' minutes ago' when 3541..7100 then 'an hour ago' # 3600 = 1 hour when 7101..82_800 then ((a + 99) / 3600).to_i.to_s + ' hours ago' when 82_801..172_000 then 'yesterday ' + (hour < 12 ? 'morning' : 'afternoon') when 172_001..518_400 then ((a + 800) / (60 * 60 * 24)).to_i.to_s + ' days ago' when 518_400..1_036_800 then 'a week ago' else ((a + 180_000) / (60 * 60 * 24 * 7)).to_i.to_s + ' weeks ago' end end |