class WeatherGov::ValidTime
Public Class Methods
new(valid_time_string)
click to toggle source
# File lib/weather_gov/valid_time.rb, line 12 def initialize(valid_time_string) @valid_time_string = valid_time_string end
parse(valid_time_string)
click to toggle source
# File lib/weather_gov/valid_time.rb, line 8 def self.parse(valid_time_string) ValidTime.new(valid_time_string) end
Public Instance Methods
duration()
click to toggle source
# File lib/weather_gov/valid_time.rb, line 24 def duration @duration ||= ActiveSupport::Duration.parse(fields.last) end
elapsed(time = Time.now)
click to toggle source
# File lib/weather_gov/valid_time.rb, line 40 def elapsed(time = Time.now) ActiveSupport::Duration.build(time - start_time) end
end_time()
click to toggle source
# File lib/weather_gov/valid_time.rb, line 28 def end_time start_time + duration end
fields()
click to toggle source
# File lib/weather_gov/valid_time.rb, line 16 def fields @fields ||= @valid_time_string.split("/") end
range()
click to toggle source
# File lib/weather_gov/valid_time.rb, line 32 def range start_time...end_time end
remaining(time = Time.now)
click to toggle source
# File lib/weather_gov/valid_time.rb, line 44 def remaining(time = Time.now) ActiveSupport::Duration.build(end_time - time) end
start_time()
click to toggle source
# File lib/weather_gov/valid_time.rb, line 20 def start_time @start_time ||= Time.parse(fields.first) end
valid?(time = Time.now)
click to toggle source
# File lib/weather_gov/valid_time.rb, line 36 def valid?(time = Time.now) range.include?(time) end