class RangeArray

Constants

VERSION

Public Instance Methods

<<(range) click to toggle source
Calls superclass method
# File lib/range_array/range_array.rb, line 4
def <<(range)
  return unless range.class == Range
  super eliminate_overlaps(merged_range(range))
end
Also aliased as: append
append(range)
Alias for: <<

Private Instance Methods

eliminate_overlaps(range) click to toggle source
# File lib/range_array/range_array.rb, line 17
def eliminate_overlaps(range)
  self.delete_if do |r|
    r.merge(range)
  end
  range
end
merged_range(range) click to toggle source
# File lib/range_array/range_array.rb, line 11
def merged_range(range)
  self.inject(range) do |memo_range, r|
    memo_range.merge!(r)
  end
end