CSV::Scanner receives a
CSV output, scans it and return the content. It also controls the life cycle of the object with its methods
StringScanner (the official strscan gem). Strscan provides lexical scanning operations on a
String. We inherit its object and take advantage on the methods. For more information, please visit: ruby-doc.org/stdlib-2.6.1/libdoc/strscan/rdoc/StringScanner.html
# File lib/csv/parser.rb, line 47 def each_line(row_separator) position = pos rest.each_line(row_separator) do |line| position += line.bytesize self.pos = position yield(line) end end
# File lib/csv/parser.rb, line 65 def keep_back self.pos = @keeps.pop end
# File lib/csv/parser.rb, line 69 def keep_drop @keeps.pop end
# File lib/csv/parser.rb, line 60 def keep_end start = @keeps.pop string.byteslice(start, pos - start) end
# File lib/csv/parser.rb, line 56 def keep_start @keeps.push(pos) end
Ruby Core © 1993–2017 Yukihiro Matsumoto
Licensed under the Ruby License.
Ruby Standard Library © contributors
Licensed under their own licenses.