Class: Datanorm::Lines::V4::Parse

Inherits:
Object
  • Object
show all
Includes:
Calls
Defined in:
lib/datanorm/lines/v4/parse.rb

Overview

Converts a single DATANORM v4 line into a Ruby Object.

Constant Summary collapse

CLASSES =

Vorlaufsatz “V”: keine Kennzeichen Kundenkontrollsatz “K”: keine Kennzeichen Warengruppensatz “S”: keine Kennzeichen Rabattsatz “R”: keine Kennzeichen Hauptsatz 1 “A”: N = Neuanlage; L = Löschung; A = Änderung; X = Artikelnummernänderung Hauptsatz 2 “B”: N = Neuanlage; ; A = Änderung Dimensionssatz “D”: N = Neuanlage; A = Änderung; L = Löschung Langtextsatz “T”: N = Neuanlage; A = Änderung; L = Löschung Einfügesatz “E”: N = Neuanlage; A = Änderung; L = Löschung Staffelpreiszu-/-abschlagssatz “Z”: N = Neuanlage; A = Änderung; L = Löschung Leistungssatz “C”: N = Neuanlage; A = Änderung; L = Löschung Artikel-Set-Satz “J”: N = Neuanlage; A = Änderung; L = Löschung Preisänderungssatz “P”: A = Änderung; P = Preisänderung

{
  'A' => Datanorm::Lines::V4::Product,
  'B' => Datanorm::Lines::V4::Extra,
  'D' => Datanorm::Lines::V4::Dimension,
  'T' => Datanorm::Lines::V4::Text,
  'P' => Datanorm::Lines::V4::Priceset
}.freeze

Instance Method Summary collapse

Instance Method Details

#callObject



35
36
37
38
# File 'lib/datanorm/lines/v4/parse.rb', line 35

def call
  klass = CLASSES.fetch(columns.first[0], Datanorm::Lines::Base)
  klass.new(columns:, source_line_number:)
end