Class: FastVersioning::Timelines::Duration

Inherits:
Object
  • Object
show all
Defined in:
lib/fast_versioning/timelines/duration.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(value:, start_date:, end_date:) ⇒ Duration

Returns a new instance of Duration.

Parameters:

  • value (String)

    tracked property name

  • start_date (Time)

    when was the value set

  • end_date (Time, nil)

    when was the value unset (nil will default to Float::INFINITY)



9
10
11
12
13
# 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

Instance Attribute Details

#valueObject

Returns the value of attribute value.



20
21
22
# File 'lib/fast_versioning/timelines/duration.rb', line 20

def value
  @value
end

Instance Method Details

#date_rangeRange

Returns:

  • (Range)


16
17
18
# File 'lib/fast_versioning/timelines/duration.rb', line 16

def date_range
  start_date..end_date_or_the_future
end