Method: Parser::Source::Buffer#slice

Defined in:
lib/parser/source/buffer.rb

#slice(start, length = nil) ⇒ Object

[View source] [View on GitHub]

199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
# File 'lib/parser/source/buffer.rb', line 199

def slice(start, length = nil)
  if length.nil?
    if start.is_a?(::Range)
      length = start.size
      start = start.begin
    else
      length = 1
    end
  end

  if @slice_source.nil?
    @source[start, length]
  else
    @slice_source[start, length].encode(@source.encoding)
  end
end