Class: Time
- Inherits:
-
Object
- Object
- Time
- Defined in:
- lib/time_ext.rb
Instance Method Summary collapse
-
#distance_in_words_since(from_time, include_seconds = true) ⇒ Object
Taken from ruby on rails.
Instance Method Details
#distance_in_words_since(from_time, include_seconds = true) ⇒ Object
Taken from ruby on rails
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/time_ext.rb', line 3 def distance_in_words_since(from_time, include_seconds = true) distance_in_minutes = (((self - from_time).abs)/60).round distance_in_seconds = ((self - from_time).abs).round case distance_in_minutes when 0..1 return (distance_in_minutes == 0) ? 'less than a minute' : '1 minute' unless include_seconds case distance_in_seconds when 0..4 then 'less than 5 seconds' when 5..9 then 'less than 10 seconds' when 10..19 then 'less than 20 seconds' when 20..39 then 'half a minute' when 40..59 then 'less than a minute' else '1 minute' end when 2..44 then "#{distance_in_minutes} minutes" when 45..89 then 'about 1 hour' when 90..1439 then "about #{(distance_in_minutes.to_f / 60.0).round} hours" when 1440..2879 then '1 day' when 2880..43199 then "#{(distance_in_minutes / 1440).round} days" when 43200..86399 then 'about 1 month' when 86400..525959 then "#{(distance_in_minutes / 43200).round} months" when 525960..1051919 then 'about 1 year' else "over #{(distance_in_minutes / 525960).round} years" end end |