Class: Opencdd::Parcel::SheetEmitter

Inherits:
Object
  • Object
show all
Defined in:
lib/opencdd/parcel/sheet_emitter.rb

Constant Summary collapse

DEFAULT_SOURCE_LANGUAGE =
"en".freeze
META_DIRECTIVE_ORDER =
%w[
  CLASS_ID ALTERNATE_CLASSID SUPER_ALT_CLASSID SUB_ALT_CLASSID
  CLASS_NAME CLASS_DEFINITION CLASS_NOTE
  SOURCE_LANGUAGE PARCEL_MODE PARCEL_ID PARCEL_CC
  DEFAULT_SUPPLIER DEFAULT_VERSION
  ID_ENCODE DELIMITER DECIMAL OBJECT_ID_NAME
  TRANSLATION_LANGUAGE
].freeze
HEADER_DIRECTIVE_ORDER =
%w[
  PROPERTY_ID ALTERNATE_ID SUPER_ALTERNATE_ID SUB_ALTERNATE_ID EQUIVALENT_ID
  SUPER_PROPERTY
  DATATYPE UNIT VARIABLE_PREFIX_UNIT UNIT_ID ALTERNATIVE_UNITS
  VALUE_FORMAT PATTERN RELATION DEFAULT_VALUE
  DEFAULT_DATA_SUPPLIER DEFAULT_DATA_VERSION REQUIREMENT
].freeze
MULTILINGUAL_DIRECTIVES =
%w[PROPERTY_NAME DEFINITION NOTE].freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(source_language: "en") ⇒ SheetEmitter

Returns a new instance of SheetEmitter.



29
30
31
# File 'lib/opencdd/parcel/sheet_emitter.rb', line 29

def initialize(source_language: "en")
  @source_language = source_language.to_s
end

Instance Attribute Details

#source_languageObject (readonly)

Returns the value of attribute source_language.



27
28
29
# File 'lib/opencdd/parcel/sheet_emitter.rb', line 27

def source_language
  @source_language
end

Instance Method Details

#emit(sheet, entities) ⇒ Object



33
34
35
36
37
38
39
# File 'lib/opencdd/parcel/sheet_emitter.rb', line 33

def emit(sheet, entities)
  rows = []
  (sheet, rows)
  emit_header_rows(sheet, rows)
  entities.each { |e| emit_data_row(sheet, e, rows) }
  rows
end

#emit_data_rows(sheet, entities) ⇒ Object



41
42
43
44
45
# File 'lib/opencdd/parcel/sheet_emitter.rb', line 41

def emit_data_rows(sheet, entities)
  rows = []
  entities.each { |e| emit_data_row(sheet, e, rows) }
  rows
end