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
48 49 50 |
# File 'lib/active_object/time.rb', line 48 def count_centuries_since(time) count_seconds_since(time) / CENTURY end |
#count_days_since(time) ⇒ Object Also known as: count_days_until
54 55 56 |
# File 'lib/active_object/time.rb', line 54 def count_days_since(time) count_seconds_since(time) / DAY end |
#count_decades_since(time) ⇒ Object Also known as: count_decades_until
60 61 62 |
# File 'lib/active_object/time.rb', line 60 def count_decades_since(time) count_seconds_since(time) / DECADE end |
#count_hours_since(time) ⇒ Object Also known as: count_hours_until
66 67 68 |
# File 'lib/active_object/time.rb', line 66 def count_hours_since(time) count_seconds_since(time) / HOUR end |
#count_milleniums_since(time) ⇒ Object Also known as: count_milleniums_until
72 73 74 |
# File 'lib/active_object/time.rb', line 72 def count_milleniums_since(time) count_seconds_since(time) / MILLENNIUM end |
#count_minutes_since(time) ⇒ Object Also known as: count_minutes_until
78 79 80 |
# File 'lib/active_object/time.rb', line 78 def count_minutes_since(time) count_seconds_since(time) / MINUTE end |
#count_seconds_since(time) ⇒ Object Also known as: count_seconds_until
84 85 86 87 |
# File 'lib/active_object/time.rb', line 84 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
91 92 93 |
# File 'lib/active_object/time.rb', line 91 def count_weeks_since(time) count_seconds_since(time) / WEEK end |
#count_years_since(time) ⇒ Object Also known as: count_years_until
97 98 99 |
# File 'lib/active_object/time.rb', line 97 def count_years_since(time) count_seconds_since(time) / YEAR end |
#format(string) ⇒ Object
103 104 105 106 107 108 109 110 |
# File 'lib/active_object/time.rb', line 103 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
112 113 114 |
# File 'lib/active_object/time.rb', line 112 def to_format(key = :datetime_iso) strftime(KEY_UNITS.fetch(key.to_sym)) end |