Module: Iqvoc::InlineDataHelper

Defined in:
lib/iqvoc/inline_data_helper.rb

Constant Summary collapse

JOINER =

delimiters for strings representing a list of values - XXX: lacks encapsulation

', '
SPLITTER =
/[,\n] */
CSV_OPTIONS =
{
  col_sep: ', ',
  quote_char: '"'
}

Class Method Summary collapse

Class Method Details

.generate_inline_values(values) ⇒ Object



41
42
43
# File 'lib/iqvoc/inline_data_helper.rb', line 41

def self.generate_inline_values(values)
  values.to_csv(CSV_OPTIONS).strip
end

.parse_inline_values(inline_values) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/iqvoc/inline_data_helper.rb', line 30

def self.parse_inline_values(inline_values)
  options = CSV_OPTIONS.clone
  options[:col_sep] = options[:col_sep].strip
  begin
    values = inline_values.parse_csv(options)
  rescue CSV::MalformedCSVError => exc
    values = inline_values.parse_csv(CSV_OPTIONS)
  end
  values ? values.map(&:strip) : []
end