Module: RangeExtensions

Included in:
Range
Defined in:
lib/range.rb

Instance Method Summary collapse

Instance Method Details

#each(warn_on_order_error: true) ⇒ Object



2
3
4
5
6
7
8
9
10
# File 'lib/range.rb', line 2

def each
    return super if self.first <= self.last
    
    position = self.first
    while position >= self.last
        yield(position)
        position = position.pred
    end
end

#sortObject



34
35
36
37
38
39
40
41
42
# File 'lib/range.rb', line 34

def sort
    begin
        return self if self.first <= self.last
    rescue NoMethodError
        raise "#{self.first.class}s cannot be sorted"
    end

    (self.last..self.first)
end