Class: Longleaf::ServiceDateHelper
- Inherits:
-
Object
- Object
- Longleaf::ServiceDateHelper
- Defined in:
- lib/longleaf/helpers/service_date_helper.rb
Overview
Helper methods for interacting with dates/timestamps on services
Class Method Summary collapse
-
.add_to_timestamp(timestamp, modifier) ⇒ String
Adds the amount of time from modifier to the provided timestamp "
-
.formatted_timestamp(timestamp = Time.now) ⇒ String
Get a timestamp in the format expected for service timestamps.
Class Method Details
.add_to_timestamp(timestamp, modifier) ⇒ String
Adds the amount of time from modifier to the provided timestamp
"
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/longleaf/helpers/service_date_helper.rb', line 13 def self.(, modifier) if modifier =~ /^(\d+) *(second|minute|hour|day|week|month|year)s?(,.*)?/ value = $1.to_i unit = $2 else raise ArgumentError.new("Cannot parse time modifier #{modifier}") end datetime = Time.iso8601() case unit when 'second' unit_modifier = 1 when 'minute' unit_modifier = 60 when 'hour' unit_modifier = 3600 when 'day' unit_modifier = 24 * 3600 when 'week' unit_modifier = 7 * 24 * 3600 when 'month' unit_modifier = 30 * 24 * 3600 when 'year' unit_modifier = 365 * 24 * 3600 end modified_time = datetime + (value * unit_modifier) modified_time.iso8601 end |
.formatted_timestamp(timestamp = Time.now) ⇒ String
Get a timestamp in the format expected for service timestamps.
46 47 48 |
# File 'lib/longleaf/helpers/service_date_helper.rb', line 46 def self.( = Time.now) .utc.iso8601(3).to_s end |