class CSVInterpreter

Attributes

filepath[RW]

Public Class Methods

new(raw_data) click to toggle source
Calls superclass method Interpreter::new
# File lib/suds/interpreter/csv_interpreter.rb, line 7
def initialize raw_data
  @raw_data = raw_data
  super()
end

Public Instance Methods

interpret() click to toggle source
# File lib/suds/interpreter/csv_interpreter.rb, line 13
def interpret
  CSV.parse(@raw_data, headers: true, header_converters: :symbol).each do |row|
    @headers = row.headers if @headers.nil? || @headers.empty?
    interpret_unit row
  end
  @data
end
interpret_unit(unit) click to toggle source
# File lib/suds/interpreter/csv_interpreter.rb, line 21
def interpret_unit unit
  raise "Headers have not be set." if @headers.empty?
  raise "Invalid data for current headers." if @headers.size != unit.size

  @data << unit.to_h
end