Module: Eancom
- Defined in:
- lib/eancom.rb,
lib/eancom/parser.rb,
lib/eancom/edifact.rb,
lib/eancom/factory.rb,
lib/eancom/version.rb,
lib/eancom/definition.rb,
lib/eancom/edifact/body.rb,
lib/eancom/edifact/data.rb,
lib/eancom/edifact/item.rb,
lib/eancom/edifact/footer.rb,
lib/eancom/edifact/header.rb,
lib/eancom/parser/segment.rb,
lib/eancom/edifact/message.rb,
lib/eancom/edifact/segment.rb,
lib/eancom/parser/document.rb,
lib/eancom/edifact/document.rb,
lib/eancom/edifact/composite.rb,
lib/eancom/edifact/structure.rb,
lib/eancom/edifact/segments/ajt.rb,
lib/eancom/edifact/segments/alc.rb,
lib/eancom/edifact/segments/ali.rb,
lib/eancom/edifact/segments/bgm.rb,
lib/eancom/edifact/segments/cav.rb,
lib/eancom/edifact/segments/cci.rb,
lib/eancom/edifact/segments/cdi.rb,
lib/eancom/edifact/segments/cnt.rb,
lib/eancom/edifact/segments/cps.rb,
lib/eancom/edifact/segments/cta.rb,
lib/eancom/edifact/segments/cux.rb,
lib/eancom/edifact/segments/dgs.rb,
lib/eancom/edifact/segments/doc.rb,
lib/eancom/edifact/segments/dtm.rb,
lib/eancom/edifact/segments/efi.rb,
lib/eancom/edifact/segments/eqd.rb,
lib/eancom/edifact/segments/ftx.rb,
lib/eancom/edifact/segments/gin.rb,
lib/eancom/edifact/segments/imd.rb,
lib/eancom/edifact/segments/inv.rb,
lib/eancom/edifact/segments/lin.rb,
lib/eancom/edifact/segments/loc.rb,
lib/eancom/edifact/segments/mea.rb,
lib/eancom/edifact/segments/moa.rb,
lib/eancom/edifact/segments/nad.rb,
lib/eancom/edifact/segments/pac.rb,
lib/eancom/edifact/segments/pat.rb,
lib/eancom/edifact/segments/pcd.rb,
lib/eancom/edifact/segments/pci.rb,
lib/eancom/edifact/segments/pgi.rb,
lib/eancom/edifact/segments/pia.rb,
lib/eancom/edifact/segments/pri.rb,
lib/eancom/edifact/segments/qty.rb,
lib/eancom/edifact/segments/rff.rb,
lib/eancom/edifact/segments/rte.rb,
lib/eancom/edifact/segments/tax.rb,
lib/eancom/edifact/segments/tdt.rb,
lib/eancom/edifact/segments/tod.rb,
lib/eancom/edifact/segments/tru.rb,
lib/eancom/edifact/segments/una.rb,
lib/eancom/edifact/segments/unb.rb,
lib/eancom/edifact/segments/unh.rb,
lib/eancom/edifact/segments/uns.rb,
lib/eancom/edifact/segments/unt.rb,
lib/eancom/edifact/segments/unz.rb,
lib/eancom/edifact/document_element.rb
Defined Under Namespace
Modules: Edifact, Parser
Classes: Definition, Error, Factory, StructureNotFoundError
Constant Summary
collapse
- FILE_TYPES =
%I[
desadv
pricat
ordrsp
slsrpt
invrpt
orders
invoic
retann
].freeze
- DELIMITERS =
{
component: ':',
data: '+',
release: '?',
decimal: '.',
reserve: ' ',
segment: '\''
}.freeze
- VERSION =
"2.0.0"
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Attribute Details
#definitions ⇒ Object
Returns the value of attribute definitions.
28
29
30
|
# File 'lib/eancom.rb', line 28
def definitions
@definitions
end
|
#segments ⇒ Object
Returns the value of attribute segments.
28
29
30
|
# File 'lib/eancom.rb', line 28
def segments
@segments
end
|
Class Method Details
.definitions ⇒ Object
30
31
32
|
# File 'lib/eancom.rb', line 30
def self.definitions
@configs ||= {}
end
|
.find_definition(name:, type:) ⇒ Object
49
50
51
|
# File 'lib/eancom.rb', line 49
def self.find_definition(name:, type:)
definitions[type][name]
end
|
.find_segment(tag:) ⇒ Object
57
58
59
|
# File 'lib/eancom.rb', line 57
def self.find_segment(tag:)
segments[tag]
end
|
.find_structure(tag:) ⇒ Object
65
66
67
68
69
70
71
72
73
|
# File 'lib/eancom.rb', line 65
def self.find_structure(tag:)
structure = structures[tag]
if structure.nil?
raise StructureNotFoundError.new(
"Structure for tag: #{tag} not found."
)
end
structure
end
|
.register_definition(definition) ⇒ Object
42
43
44
45
46
47
|
# File 'lib/eancom.rb', line 42
def self.register_definition(definition)
type = definition.type
name = definition.name
definitions[type] ||= {}
definitions[type][name] = definition
end
|
.register_segment(tag:, klass:) ⇒ Object
53
54
55
|
# File 'lib/eancom.rb', line 53
def self.register_segment(tag:, klass:)
segments[tag] ||= klass
end
|
.register_structure(tag:, structure:) ⇒ Object
61
62
63
|
# File 'lib/eancom.rb', line 61
def self.register_structure(tag:, structure:)
structures[tag] ||= structure
end
|
.segments ⇒ Object
34
35
36
|
# File 'lib/eancom.rb', line 34
def self.segments
@segments ||= {}
end
|
.structures ⇒ Object
38
39
40
|
# File 'lib/eancom.rb', line 38
def self.structures
@structures ||= {}
end
|