Class: Daterval::Pair
- Inherits:
-
Object
- Object
- Daterval::Pair
- Defined in:
- lib/daterval/pair.rb
Instance Attribute Summary collapse
-
#range ⇒ Object
Returns the value of attribute range.
Instance Method Summary collapse
- #==(other) ⇒ Object
- #begin ⇒ Object
- #end ⇒ Object
-
#initialize(begin_time, end_time) ⇒ Pair
constructor
A new instance of Pair.
- #overlap(other) ⇒ Object
- #overlaps?(other) ⇒ Boolean
- #to_i ⇒ Object
Constructor Details
#initialize(begin_time, end_time) ⇒ Pair
Returns a new instance of Pair.
3 4 5 6 7 8 9 10 |
# File 'lib/daterval/pair.rb', line 3 def initialize(begin_time, end_time) begin_time = Time.parse(begin_time) if begin_time.is_a?(String) end_time = Time.parse(end_time) if end_time.is_a?(String) begin_time, end_time = end_time, begin_time if end_time < begin_time @range = begin_time..end_time end |
Instance Attribute Details
#range ⇒ Object
Returns the value of attribute range.
39 40 41 |
# File 'lib/daterval/pair.rb', line 39 def range @range end |
Instance Method Details
#==(other) ⇒ Object
24 25 26 |
# File 'lib/daterval/pair.rb', line 24 def ==(other) range.begin == other.begin && range.end == other.end end |
#begin ⇒ Object
12 13 14 |
# File 'lib/daterval/pair.rb', line 12 def begin range.begin end |
#end ⇒ Object
16 17 18 |
# File 'lib/daterval/pair.rb', line 16 def end range.end end |
#overlap(other) ⇒ Object
32 33 34 35 36 37 |
# File 'lib/daterval/pair.rb', line 32 def overlap(other) begin_time = range.begin < other.begin ? range.begin : other.begin end_time = range.end > other.end ? range.end : other.end self.class.new(begin_time, end_time) end |
#overlaps?(other) ⇒ Boolean
28 29 30 |
# File 'lib/daterval/pair.rb', line 28 def overlaps?(other) range.overlaps?(other.range) end |
#to_i ⇒ Object
20 21 22 |
# File 'lib/daterval/pair.rb', line 20 def to_i range.end.to_i - range.begin.to_i end |