Method: External::Chunkable.range_begin_and_end

Defined in:
lib/external/chunkable.rb

.range_begin_and_end(range_or_span) ⇒ Object

Returns the begining and end of a range or span.

range_begin_and_end(0..10)    # => [0, 10]
range_begin_and_end(0...10)   # => [0, 9]
range_begin_and_end([0, 10])  # => [0, 10]

Raises:

  • (ArgumentError)


111
112
113
114
115
116
117
# File 'lib/external/chunkable.rb', line 111

def range_begin_and_end(range_or_span)
  rbegin, rend = range_or_span.kind_of?(Range) ? split_range(range_or_span) : split_span(range_or_span)
  raise ArgumentError.new("negative offset specified: #{PP.singleline_pp(range_or_span,'')}") if rbegin < 0
  rend += rbegin
  
  [rbegin, rend]
end