method
init_parsers
v2_2_9 -
Show latest stable
- Class:
CSV
init_parsers(options)private
Pre-compiles parsers and stores them by name for access during reads.
# File lib/csv.rb, line 2068
def init_parsers(options)
# store the parser behaviors
@skip_blanks = options.delete(:skip_blanks)
@field_size_limit = options.delete(:field_size_limit)
# prebuild Regexps for faster parsing
esc_row_sep = escape_re(@row_sep)
esc_quote = escape_re(@quote_char)
@parsers = {
# for detecting parse errors
quote_or_nl: encode_re("[", esc_quote, "\r\n]"),
nl_or_lf: encode_re("[\r\n]"),
stray_quote: encode_re( "[^", esc_quote, "]", esc_quote,
"[^", esc_quote, "]" ),
# safer than chomp!()
line_end: encode_re(esc_row_sep, "\\z"),
# illegal unquoted characters
return_newline: encode_str("\r\n")
}
end Related methods
- Instance methods
- <<
- add_row
- convert
- converters
- each
- force_quotes?
- gets
- header_convert
- header_converters
- header_row?
- headers
- inspect
- puts
- read
- readline
- readlines
- return_headers?
- rewind
- shift
- skip_blanks?
- unconverted_fields?
- write_headers?
- Class methods
- filter
- foreach
- generate
- generate_line
- instance
- new
- open
- parse
- parse_line
- read
- readlines
- table
- Private methods
-
add_converter -
add_unconverted_fields -
convert_fields -
encode_re -
encode_str -
escape_re -
init_comments -
init_converters -
init_headers -
init_parsers -
init_separators -
parse_headers -
raw_encoding