Class: CSV::Parser::Scanner
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
StringScanner
|
|
Instance Chain:
self,
StringScanner
|
|
Inherits: |
StringScanner
|
Defined in: | lib/csv/parser.rb |
Class Method Summary
- .new(*args) ⇒ Scanner constructor
Instance Method Summary
Constructor Details
.new(*args) ⇒ Scanner
# 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