class FastVersioning::Timelines::Duration

Attributes

end_date[RW]
start_date[RW]
value[RW]

Public Class Methods

new(value:, start_date:, end_date:) click to toggle source

@param value [String] tracked property name @param start_date [Time] when was the value set @param end_date [Time, nil] when was the value unset (nil will default to Float::INFINITY)

# File lib/fast_versioning/timelines/duration.rb, line 9
def initialize(value:, start_date:, end_date:)
  self.value = value
  self.start_date = start_date
  self.end_date = end_date
end

Public Instance Methods

date_range() click to toggle source

@return [Range]

# File lib/fast_versioning/timelines/duration.rb, line 16
def date_range
  start_date..end_date_or_the_future
end

Private Instance Methods

end_date_or_the_future() click to toggle source
# File lib/fast_versioning/timelines/duration.rb, line 27
def end_date_or_the_future
  end_date || Float::INFINITY
end