class CommaSplice::Line
Attributes
line[R]
values[R]
Public Class Methods
new(line)
click to toggle source
# File lib/comma_splice/helpers/line.rb, line 5 def initialize(line) @line = line @values = parse_csv_content(line).first end
Private Instance Methods
parse_csv_content(content, headers = false)
click to toggle source
# File lib/comma_splice/helpers/line.rb, line 12 def parse_csv_content(content, headers = false) quote_chars = %w[" | ~ ^ & *] begin CSV.parse(content.mb_chars.tidy_bytes.to_s, quote_char: quote_chars.shift, headers: headers, liberal_parsing: true) rescue CSV::MalformedCSVError quote_chars.empty? ? raise : retry end end