123456789_123456789_123456789_123456789_123456789_

Class: CSV::Parser::Scanner

Relationships & Source Files
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
self, StringScanner
Instance Chain:
self, StringScanner
Inherits: StringScanner
  • Object
Defined in: lib/csv/parser.rb

Class Method Summary

Instance Method Summary

Constructor Details

.new(*args) ⇒ Scanner

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 21

def initialize(*args)
  super
  @keeps = []
end

Instance Method Details

#each_line(row_separator)

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 26

def each_line(row_separator)
  position = pos
  rest.each_line(row_separator) do |line|
    position += line.bytesize
    self.pos = position
    yield(line)
  end
end

#keep_back

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 44

def keep_back
  self.pos = @keeps.pop
end

#keep_drop

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 48

def keep_drop
  @keeps.pop
end

#keep_end

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 39

def keep_end
  start = @keeps.pop
  string[start, pos - start]
end

#keep_start

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 35

def keep_start
  @keeps.push(pos)
end

#scan_all

[ GitHub ]

  
# File 'lib/csv/parser.rb', line 19

alias_method :scan_all, :scan