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
52 53 54 |
# File 'lib/active_object/time.rb', line 52 def count_centuries_since(time) count_seconds_since(time) / CENTURY end |
#count_days_since(time) ⇒ Object Also known as: count_days_until
58 59 60 |
# File 'lib/active_object/time.rb', line 58 def count_days_since(time) count_seconds_since(time) / DAY end |
#count_decades_since(time) ⇒ Object Also known as: count_decades_until
64 65 66 |
# File 'lib/active_object/time.rb', line 64 def count_decades_since(time) count_seconds_since(time) / DECADE end |
#count_hours_since(time) ⇒ Object Also known as: count_hours_until
70 71 72 |
# File 'lib/active_object/time.rb', line 70 def count_hours_since(time) count_seconds_since(time) / HOUR end |
#count_milleniums_since(time) ⇒ Object Also known as: count_milleniums_until
76 77 78 |
# File 'lib/active_object/time.rb', line 76 def count_milleniums_since(time) count_seconds_since(time) / MILLENNIUM end |
#count_minutes_since(time) ⇒ Object Also known as: count_minutes_until
82 83 84 |
# File 'lib/active_object/time.rb', line 82 def count_minutes_since(time) count_seconds_since(time) / MINUTE end |
#count_seconds_since(time) ⇒ Object Also known as: count_seconds_until
88 89 90 91 |
# File 'lib/active_object/time.rb', line 88 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
95 96 97 |
# File 'lib/active_object/time.rb', line 95 def count_weeks_since(time) count_seconds_since(time) / WEEK end |
#count_years_since(time) ⇒ Object Also known as: count_years_until
101 102 103 |
# File 'lib/active_object/time.rb', line 101 def count_years_since(time) count_seconds_since(time) / YEAR end |
#format(string) ⇒ Object
107 108 109 110 111 112 113 114 |
# File 'lib/active_object/time.rb', line 107 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
116 117 118 |
# File 'lib/active_object/time.rb', line 116 def to_format(key = :datetime_iso) strftime(KEY_UNITS.fetch(key.to_sym)) end |