Sha256: cca60b18b4ff6e20847d55364915dac4835650dfed7357ea78a5662d195a9f9d

Contents?: true

Size: 1.5 KB

Versions: 8

Compression:

Stored size: 1.5 KB

Contents

====== Option +liberal_parsing+

Specifies the boolean or hash value that determines whether
CSV will attempt to parse input not conformant with RFC 4180,
such as double quotes in unquoted fields.

Default value:
  CSV::DEFAULT_OPTIONS.fetch(:liberal_parsing) # => false

For the next two examples:
  str = 'is,this "three, or four",fields'

Without +liberal_parsing+:
  # Raises CSV::MalformedCSVError (Illegal quoting in str 1.)
  CSV.parse_line(str)

With +liberal_parsing+:
  ary = CSV.parse_line(str, liberal_parsing: true)
  ary # => ["is", "this \"three", " or four\"", "fields"]

Use the +backslash_quote+ sub-option to parse values that use
a backslash to escape a double-quote character.  This
causes the parser to treat <code>\"</code> as if it were
<code>""</code>.

For the next two examples:
  str = 'Show,"Harry \"Handcuff\" Houdini, the one and only","Tampa Theater"'

With +liberal_parsing+, but without the +backslash_quote+ sub-option:
  # Incorrect interpretation of backslash; incorrectly interprets the quoted comma as a field separator.
  ary = CSV.parse_line(str, liberal_parsing: true)
  ary # => ["Show", "\"Harry \\\"Handcuff\\\" Houdini", " the one and only\"", "Tampa Theater"]
  puts ary[1] # => "Harry \"Handcuff\" Houdini

With +liberal_parsing+ and its +backslash_quote+ sub-option:
  ary = CSV.parse_line(str, liberal_parsing: { backslash_quote: true })
  ary # => ["Show", "Harry \"Handcuff\" Houdini, the one and only", "Tampa Theater"]
  puts ary[1] # => Harry "Handcuff" Houdini, the one and only

Version data entries

8 entries across 8 versions & 4 rubygems

Version Path
fluent-plugin-nuopenlineage-light-0.1.0 vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/liberal_parsing.rdoc
fluent-plugin-openlineage-light-0.1.4 vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/liberal_parsing.rdoc
fluent-plugin-openlineage-light-0.1.3 vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/liberal_parsing.rdoc
fluent-plugin-openlineage-0.1.0 vendor/bundle/ruby/3.3.0/gems/csv-3.3.0/doc/csv/options/parsing/liberal_parsing.rdoc
csv-3.3.0 doc/csv/options/parsing/liberal_parsing.rdoc
csv-3.2.9 doc/csv/options/parsing/liberal_parsing.rdoc
csv-3.2.8 doc/csv/options/parsing/liberal_parsing.rdoc
csv-3.2.7 doc/csv/options/parsing/liberal_parsing.rdoc