class Range

Public Instance Methods

-(other) click to toggle source
# File lib/sleek/core_ext/range.rb, line 40
def -(other)
  (self.begin - other)..(self.end - other)
end
difference() click to toggle source

Public: Calculate the differentce between ends of the range.

# File lib/sleek/core_ext/range.rb, line 23
def difference
  self.end - self.begin
end
int_range?() click to toggle source
# File lib/sleek/core_ext/range.rb, line 13
def int_range?
  self.begin.is_a?(Integer)
end
previous(n = 1) click to toggle source

Public: Make up a range for previous n periods. Start of new range would be start of current - difference between start and end * number of periods, end of new range would be start of current.

Example

(1200..1300).previous
# => 1100..1200
# File lib/sleek/core_ext/range.rb, line 36
def previous(n = 1)
  self - difference * n
end
time_range?() click to toggle source

Public: Check if range elements are times.

# File lib/sleek/core_ext/range.rb, line 18
def time_range?
  self.begin.is_a?(Time)
end
to_i_range() click to toggle source

Public: Convert both ends of range to integers.

# File lib/sleek/core_ext/range.rb, line 3
def to_i_range
  self.begin.to_i..self.end.to_i
end
to_time_range(zone = nil) click to toggle source

Public: Convert both ends of range to times.

# File lib/sleek/core_ext/range.rb, line 8
def to_time_range(zone = nil)
  time = zone ? zone : Time
  time.at(self.begin)..time.at(self.end)
end