class Daterval::Pair

Attributes

range[RW]

Public Class Methods

new(begin_time, end_time) click to toggle source
# 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

Public Instance Methods

==(other) click to toggle source
# File lib/daterval/pair.rb, line 24
def ==(other)
  range.begin == other.begin && range.end == other.end
end
begin() click to toggle source
# File lib/daterval/pair.rb, line 12
def begin
  range.begin
end
end() click to toggle source
# File lib/daterval/pair.rb, line 16
def end
  range.end
end
overlap(other) click to toggle source
# 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) click to toggle source
# File lib/daterval/pair.rb, line 28
def overlaps?(other)
  range.overlaps?(other.range)
end
to_i() click to toggle source
# File lib/daterval/pair.rb, line 20
def to_i
  range.end.to_i - range.begin.to_i
end