Module: ActiveObject::Time
- Defined in:
- lib/active_object/time.rb
Instance Method Summary collapse
- #count_centuries_since(time) ⇒ Object (also: #count_centuries_until)
- #count_days_since(time) ⇒ Object (also: #count_days_until)
- #count_decades_since(time) ⇒ Object (also: #count_decades_until)
- #count_hours_since(time) ⇒ Object (also: #count_hours_until)
- #count_milleniums_since(time) ⇒ Object (also: #count_milleniums_until)
- #count_minutes_since(time) ⇒ Object (also: #count_minutes_until)
- #count_seconds_since(time) ⇒ Object (also: #count_seconds_until)
- #count_weeks_since(time) ⇒ Object (also: #count_weeks_until)
- #count_years_since(time) ⇒ Object (also: #count_years_until)
- #format(string) ⇒ Object
- #to_format(key = :datetime_iso) ⇒ Object (also: #stamp)
Instance Method Details
#count_centuries_since(time) ⇒ Object Also known as: count_centuries_until
49 50 51 |
# File 'lib/active_object/time.rb', line 49 def count_centuries_since(time) count_seconds_since(time) / CENTURY end |
#count_days_since(time) ⇒ Object Also known as: count_days_until
55 56 57 |
# File 'lib/active_object/time.rb', line 55 def count_days_since(time) count_seconds_since(time) / DAY end |
#count_decades_since(time) ⇒ Object Also known as: count_decades_until
61 62 63 |
# File 'lib/active_object/time.rb', line 61 def count_decades_since(time) count_seconds_since(time) / DECADE end |
#count_hours_since(time) ⇒ Object Also known as: count_hours_until
67 68 69 |
# File 'lib/active_object/time.rb', line 67 def count_hours_since(time) count_seconds_since(time) / HOUR end |
#count_milleniums_since(time) ⇒ Object Also known as: count_milleniums_until
73 74 75 |
# File 'lib/active_object/time.rb', line 73 def count_milleniums_since(time) count_seconds_since(time) / MILLENNIUM end |
#count_minutes_since(time) ⇒ Object Also known as: count_minutes_until
79 80 81 |
# File 'lib/active_object/time.rb', line 79 def count_minutes_since(time) count_seconds_since(time) / MINUTE end |
#count_seconds_since(time) ⇒ Object Also known as: count_seconds_until
85 86 87 88 |
# File 'lib/active_object/time.rb', line 85 def count_seconds_since(time) time = time.to_time if time.respond_to?(:to_time) (to_f - time.to_f).abs end |
#count_weeks_since(time) ⇒ Object Also known as: count_weeks_until
92 93 94 |
# File 'lib/active_object/time.rb', line 92 def count_weeks_since(time) count_seconds_since(time) / WEEK end |
#count_years_since(time) ⇒ Object Also known as: count_years_until
98 99 100 |
# File 'lib/active_object/time.rb', line 98 def count_years_since(time) count_seconds_since(time) / YEAR end |
#format(string) ⇒ Object
104 105 106 107 108 109 110 111 |
# File 'lib/active_object/time.rb', line 104 def format(string) delimiters = string.scan(/\W+/) formatters = string.scan(/[a-z0-9_]+/i) string = formatters.map { |unit| "%#{STRING_UNITS.fetch(unit.to_sym)}#{delimiters.shift}" } strftime(string.join) end |
#to_format(key = :datetime_iso) ⇒ Object Also known as: stamp
113 114 115 |
# File 'lib/active_object/time.rb', line 113 def to_format(key = :datetime_iso) strftime(KEY_UNITS.fetch(key.to_sym)) end |