eancom 0.1.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +190 -5
  3. data/.gitlab-ci.yml +25 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile.lock +22 -18
  6. data/README.md +46 -0
  7. data/bin/console +3 -2
  8. data/definitions/desadv/d01b.rb +251 -0
  9. data/definitions/desadv/d96a.rb +208 -87
  10. data/definitions/invoic/d01b.rb +559 -0
  11. data/definitions/invoic/d96a.rb +389 -0
  12. data/definitions/invrpt/d01b.rb +134 -0
  13. data/definitions/invrpt/d96a.rb +125 -0
  14. data/definitions/orders/d01b.rb +182 -0
  15. data/definitions/orders/d96b.rb +198 -0
  16. data/definitions/ordrsp/d01b.rb +251 -0
  17. data/definitions/ordrsp/d96b.rb +226 -0
  18. data/definitions/pricat/d01b.rb +225 -0
  19. data/definitions/pricat/d96b.rb +207 -0
  20. data/definitions/retann/d01b.rb +172 -0
  21. data/definitions/retann/d96b.rb +221 -0
  22. data/definitions/segments/ajt.rb +47 -0
  23. data/definitions/segments/alc.rb +328 -0
  24. data/definitions/segments/ali.rb +93 -0
  25. data/definitions/segments/bgm.rb +395 -0
  26. data/definitions/segments/cav.rb +122 -0
  27. data/definitions/segments/cci.rb +136 -0
  28. data/definitions/segments/cdi.rb +39 -0
  29. data/definitions/segments/cnt.rb +82 -0
  30. data/definitions/segments/cps.rb +76 -0
  31. data/definitions/segments/cta.rb +89 -0
  32. data/definitions/segments/cux.rb +174 -0
  33. data/definitions/segments/dgs.rb +34 -0
  34. data/definitions/segments/doc.rb +45 -0
  35. data/definitions/segments/dtm.rb +243 -0
  36. data/definitions/segments/efi.rb +67 -0
  37. data/definitions/segments/eqd.rb +37 -0
  38. data/definitions/segments/ftx.rb +165 -0
  39. data/definitions/segments/gin.rb +113 -0
  40. data/definitions/segments/imd.rb +360 -0
  41. data/definitions/segments/inv.rb +94 -0
  42. data/definitions/segments/lin.rb +133 -0
  43. data/definitions/segments/loc.rb +137 -0
  44. data/definitions/segments/mea.rb +189 -0
  45. data/definitions/segments/moa.rb +228 -0
  46. data/definitions/segments/nad.rb +314 -0
  47. data/definitions/segments/pac.rb +262 -0
  48. data/definitions/segments/pat.rb +171 -0
  49. data/definitions/segments/pcd.rb +72 -0
  50. data/definitions/segments/pci.rb +110 -0
  51. data/definitions/segments/pgi.rb +152 -0
  52. data/definitions/segments/pia.rb +501 -0
  53. data/definitions/segments/pri.rb +208 -0
  54. data/definitions/segments/qty.rb +293 -0
  55. data/definitions/segments/rff.rb +210 -0
  56. data/definitions/segments/rte.rb +52 -0
  57. data/definitions/segments/tax.rb +266 -0
  58. data/definitions/segments/tdt.rb +278 -0
  59. data/definitions/segments/tod.rb +64 -0
  60. data/definitions/segments/tru.rb +34 -0
  61. data/definitions/segments/una.rb +85 -0
  62. data/definitions/segments/unb.rb +284 -0
  63. data/definitions/segments/unh.rb +183 -0
  64. data/definitions/segments/uns.rb +40 -0
  65. data/definitions/segments/unt.rb +48 -0
  66. data/definitions/segments/unz.rb +48 -0
  67. data/definitions/slsrpt/d01b.rb +206 -0
  68. data/definitions/slsrpt/d96a.rb +199 -0
  69. data/eancom.gemspec +2 -1
  70. data/lib/eancom.rb +61 -16
  71. data/lib/eancom/definition.rb +1 -1
  72. data/lib/eancom/edifact.rb +60 -13
  73. data/lib/eancom/edifact/body.rb +63 -0
  74. data/lib/eancom/edifact/composite.rb +38 -0
  75. data/lib/eancom/edifact/data.rb +108 -0
  76. data/lib/eancom/edifact/document.rb +43 -11
  77. data/lib/eancom/edifact/document_element.rb +26 -0
  78. data/lib/eancom/edifact/footer.rb +7 -0
  79. data/lib/eancom/edifact/header.rb +15 -0
  80. data/lib/eancom/edifact/item.rb +40 -0
  81. data/lib/eancom/edifact/message.rb +24 -16
  82. data/lib/eancom/edifact/segment.rb +131 -12
  83. data/lib/eancom/edifact/segments/ajt.rb +32 -0
  84. data/lib/eancom/edifact/segments/alc.rb +61 -0
  85. data/lib/eancom/edifact/segments/ali.rb +50 -0
  86. data/lib/eancom/edifact/segments/bgm.rb +46 -0
  87. data/lib/eancom/edifact/segments/cav.rb +47 -0
  88. data/lib/eancom/edifact/segments/cci.rb +53 -0
  89. data/lib/eancom/edifact/segments/cdi.rb +30 -0
  90. data/lib/eancom/edifact/segments/cnt.rb +40 -0
  91. data/lib/eancom/edifact/segments/cps.rb +33 -0
  92. data/lib/eancom/edifact/segments/cta.rb +30 -0
  93. data/lib/eancom/edifact/segments/cux.rb +60 -0
  94. data/lib/eancom/edifact/segments/dgs.rb +31 -0
  95. data/lib/eancom/edifact/segments/doc.rb +30 -0
  96. data/lib/eancom/edifact/segments/dtm.rb +47 -0
  97. data/lib/eancom/edifact/segments/efi.rb +38 -0
  98. data/lib/eancom/edifact/segments/eqd.rb +30 -0
  99. data/lib/eancom/edifact/segments/ftx.rb +63 -0
  100. data/lib/eancom/edifact/segments/gin.rb +45 -0
  101. data/lib/eancom/edifact/segments/imd.rb +69 -0
  102. data/lib/eancom/edifact/segments/inv.rb +43 -0
  103. data/lib/eancom/edifact/segments/lin.rb +47 -0
  104. data/lib/eancom/edifact/segments/loc.rb +46 -0
  105. data/lib/eancom/edifact/segments/mea.rb +54 -0
  106. data/lib/eancom/edifact/segments/moa.rb +45 -0
  107. data/lib/eancom/edifact/segments/nad.rb +112 -0
  108. data/lib/eancom/edifact/segments/pac.rb +56 -0
  109. data/lib/eancom/edifact/segments/pat.rb +37 -0
  110. data/lib/eancom/edifact/segments/pcd.rb +33 -0
  111. data/lib/eancom/edifact/segments/pci.rb +40 -0
  112. data/lib/eancom/edifact/segments/pgi.rb +45 -0
  113. data/lib/eancom/edifact/segments/pia.rb +108 -0
  114. data/lib/eancom/edifact/segments/pri.rb +53 -0
  115. data/lib/eancom/edifact/segments/qty.rb +44 -0
  116. data/lib/eancom/edifact/segments/rff.rb +47 -0
  117. data/lib/eancom/edifact/segments/rte.rb +33 -0
  118. data/lib/eancom/edifact/segments/tax.rb +78 -0
  119. data/lib/eancom/edifact/segments/tdt.rb +57 -0
  120. data/lib/eancom/edifact/segments/tod.rb +33 -0
  121. data/lib/eancom/edifact/segments/tru.rb +31 -0
  122. data/lib/eancom/edifact/segments/una.rb +52 -0
  123. data/lib/eancom/edifact/segments/unb.rb +68 -0
  124. data/lib/eancom/edifact/segments/unh.rb +50 -0
  125. data/lib/eancom/edifact/segments/uns.rb +32 -0
  126. data/lib/eancom/edifact/segments/unt.rb +28 -0
  127. data/lib/eancom/edifact/segments/unz.rb +28 -0
  128. data/lib/eancom/edifact/structure.rb +90 -0
  129. data/lib/eancom/factory.rb +9 -8
  130. data/lib/eancom/parser.rb +7 -0
  131. data/lib/eancom/parser/document.rb +60 -0
  132. data/lib/eancom/parser/segment.rb +71 -0
  133. data/lib/eancom/version.rb +1 -1
  134. data/pricat.json +1 -0
  135. metadata +141 -9
  136. data/lib/eancom/edifact/element.rb +0 -16
  137. data/lib/eancom/edifact/envelope.rb +0 -24
@@ -0,0 +1,50 @@
1
+ module Eancom
2
+ module Edifact
3
+ class UNH < Segment
4
+ TAG = 'UNH'.freeze
5
+ TYPE = :header.freeze
6
+
7
+ def initialize(
8
+ tag: nil,
9
+ message_reference_number:,
10
+ message_type:,
11
+ message_version_number:,
12
+ message_release_number:,
13
+ controlling_agency:,
14
+ association_assigned_code:,
15
+ code_list_directory_version_number: nil
16
+ )
17
+
18
+ @tag = tag
19
+ @message_reference_number = message_reference_number
20
+ @message_type = message_type
21
+ @message_version_number = message_version_number
22
+ @message_release_number = message_release_number
23
+ @controlling_agency = controlling_agency
24
+ @association_assigned_code = association_assigned_code
25
+ @code_list_directory_version_number = code_list_directory_version_number
26
+ super(tag: tag || TAG)
27
+ end
28
+
29
+ '''
30
+ Changing this to_json_hash function throws unusualy many errors.
31
+ Discuss whether or not this hash function needs to be changed.
32
+ '''
33
+ def to_json_hash
34
+ hash = {
35
+ message_reference_number: @message_reference_number,
36
+ message_type: @message_type,
37
+ message_version_number: @message_version_number,
38
+ message_release_number: @message_release_number,
39
+ controlling_agency: @controlling_agency,
40
+ association_assigned_code: @association_assigned_code
41
+ }
42
+ end
43
+
44
+ def segment_type
45
+ TYPE
46
+ end
47
+
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,32 @@
1
+ module Eancom
2
+ module Edifact
3
+ class UNS < Segment
4
+ TAG = 'UNS'.freeze
5
+ TYPE = :header.freeze
6
+
7
+ def initialize(
8
+ tag: nil,
9
+ section_identification:
10
+ )
11
+ @tag = tag
12
+ @section_identification = section_identification
13
+
14
+ super(tag: tag || TAG)
15
+ end
16
+
17
+ '''
18
+ Why is line 22 commented?
19
+ '''
20
+ def to_json_hash
21
+ hash = {}
22
+ # hash.merge!(section_identification: find_identifier(:section_identification)) if @section_identification
23
+ hash
24
+ end
25
+
26
+ def segment_type
27
+ TYPE
28
+ end
29
+
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,28 @@
1
+ module Eancom
2
+ module Edifact
3
+ class UNT < Segment
4
+ TAG = 'UNT'.freeze
5
+ TYPE = :footer.freeze
6
+
7
+ def initialize(
8
+ tag: nil,
9
+ number_of_segments_in_message:,
10
+ message_reference_number:
11
+ )
12
+ @tag = tag
13
+ @number_of_segments_in_message = number_of_segments_in_message
14
+ @message_reference_number = message_reference_number
15
+ super(tag: tag || TAG)
16
+ end
17
+
18
+ def to_json_hash
19
+ {}
20
+ end
21
+
22
+ def segment_type
23
+ TYPE
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ module Eancom
2
+ module Edifact
3
+ class UNZ < Segment
4
+ TAG = 'UNZ'.freeze
5
+ TYPE = :footer.freeze
6
+
7
+ def initialize(
8
+ tag: nil,
9
+ interchange_control_count:,
10
+ interchange_control_reference:
11
+ )
12
+ @tag = tag
13
+ @interchange_control_count = interchange_control_count
14
+ @interchange_control_reference = interchange_control_reference
15
+ super(tag: tag || TAG)
16
+ end
17
+
18
+ def to_json_hash
19
+ {}
20
+ end
21
+
22
+ def segment_type
23
+ TYPE
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,90 @@
1
+ module Eancom
2
+ module Edifact
3
+ class Structure
4
+
5
+ class KeyNotFoundError < StandardError; end
6
+
7
+ attr_reader :tag
8
+ attr_accessor :composites
9
+
10
+ def initialize(tag:)
11
+ @tag = tag
12
+ @composites = []
13
+ end
14
+
15
+ def <<(composite)
16
+ @composites << composite
17
+ end
18
+
19
+ def validate!(key, value)
20
+ data = find(key)
21
+ data.valid?(key, value)
22
+ end
23
+
24
+ # TODO: Find on Array??
25
+ def find(key)
26
+ @composites.each do |composite|
27
+ data = composite.get(key)
28
+ return data if data
29
+ end
30
+ raise KeyNotFoundError.new("Key #{key} not found.")
31
+ end
32
+
33
+ def build_hash(array)
34
+ hash = {}
35
+ structure_array = structure_array()
36
+ structure_array.each_with_index do |v1, i1|
37
+ v1.each_with_index do |v2, i2|
38
+ if array[i1] && array[i1][i2]
39
+ hash[structure_array[i1][i2]] = array[i1][i2]
40
+ end
41
+ end
42
+ end
43
+ hash
44
+ end
45
+
46
+ def build_array(hash)
47
+ array = []
48
+ structure_array = structure_array()
49
+ structure_array.each_with_index do |v1, i1|
50
+ inner_array = []
51
+ v1.each_with_index do |v2, i2|
52
+ inner_array << hash[v2]
53
+ end
54
+ array << inner_array
55
+ end
56
+ array
57
+ end
58
+
59
+ def to_s
60
+ structure_array
61
+ end
62
+
63
+ def dictionary_lookup(identifier, value)
64
+ if data = find(identifier)
65
+ dictionary = data.dictionary
66
+ dictionary.each do |k, v|
67
+ if v[:identifier] == value
68
+ return k
69
+ end
70
+ end
71
+ else
72
+ value
73
+ end
74
+ end
75
+
76
+ private
77
+
78
+ def structure_array
79
+ array = []
80
+ @composites.each do |c|
81
+ array << c.to_array
82
+ end
83
+ array
84
+ end
85
+
86
+ end
87
+
88
+ end
89
+ end
90
+
@@ -12,14 +12,14 @@ module Eancom
12
12
 
13
13
  def build
14
14
  @definition = Eancom.find_definition(name: name, type: type)
15
- @definition.run(document: document, config: message)
16
- puts document.to_s
15
+ @definition.run(document: document, config: config)
16
+ @document
17
17
  end
18
18
 
19
19
  private
20
20
 
21
21
  def type
22
- type = config.type.to_sym
22
+ type = header.message_type.downcase.to_sym
23
23
  if Eancom::FILE_TYPES.include?(type)
24
24
  type
25
25
  else
@@ -27,12 +27,13 @@ module Eancom
27
27
  end
28
28
  end
29
29
 
30
- def name
31
- config.name
30
+ def header
31
+ config.header
32
32
  end
33
33
 
34
- def message
35
- config.message
34
+ def name
35
+ header.message_version_number + header.message_release_number
36
36
  end
37
+
37
38
  end
38
- end
39
+ end
@@ -0,0 +1,7 @@
1
+ require 'eancom/parser/document'
2
+ require 'eancom/parser/segment'
3
+
4
+ module Eancom
5
+ module Parser
6
+ end
7
+ end
@@ -0,0 +1,60 @@
1
+ module Eancom
2
+ module Parser
3
+ class Document
4
+ class SegmentTypeNotDefined < StandardError; end
5
+
6
+ attr_reader :file, :document
7
+
8
+ def initialize(file:)
9
+ @file = file
10
+ @document = Eancom::Edifact::Document.new
11
+ end
12
+
13
+ def parse
14
+ content.split(segment_delimiter).each do |segment_string|
15
+ segment = Parser::Segment.new(segment_string)
16
+ segment = segment.parse
17
+ add(segment)
18
+ end
19
+ @document
20
+ end
21
+
22
+ private
23
+
24
+ def add(segment)
25
+ if segment.is_header?
26
+ @document.add_to_header(segment)
27
+ elsif segment.is_body?
28
+ @document.add_to_body(segment)
29
+ elsif segment.is_footer?
30
+ @document.add_to_body(segment)
31
+ else
32
+ raise SegmentTypeNotDefined
33
+ end
34
+ end
35
+
36
+ def content
37
+ @content ||= begin
38
+ @file.rewind
39
+ string = convert(@file.read)
40
+ string.delete!("\n")
41
+ string.delete!("\r")
42
+ string.chomp!
43
+ string
44
+ end
45
+ end
46
+
47
+ def composite_delimiter
48
+ DELIMITERS[:data]
49
+ end
50
+
51
+ def segment_delimiter
52
+ DELIMITERS[:segment]
53
+ end
54
+
55
+ def convert(string)
56
+ string.encode('UTF-8')
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,71 @@
1
+ module Eancom
2
+ module Parser
3
+ class Segment
4
+
5
+ attr_accessor :tag, :components, :string
6
+
7
+ def initialize(string)
8
+ @string = string
9
+ @components = []
10
+ end
11
+
12
+ def parse
13
+ parse_component
14
+ klass = find_segment_class
15
+ structure = find_structure
16
+ klass.initialize_by_components(structure, @components)
17
+ end
18
+
19
+ private
20
+
21
+ def parse_component
22
+ if string =~ /^UNA/
23
+ parse_una
24
+ else
25
+ string.split(data_delimiter).each do |data|
26
+ components << parse_data(data)
27
+ end
28
+ end
29
+ end
30
+
31
+ def parse_data(data)
32
+ component = []
33
+ data.split(component_delimiter).each do |c|
34
+ component << c
35
+ end
36
+ component
37
+ end
38
+
39
+ def parse_una
40
+ components << [string[0..2]]
41
+ components << [string[3]]
42
+ components << [string[4]]
43
+ components << [string[5]]
44
+ components << [string[6]]
45
+ components << [string[7]]
46
+ components << [DELIMITERS[:segment]]
47
+ end
48
+
49
+ def tag
50
+ components.first.first
51
+ end
52
+
53
+ def find_segment_class
54
+ Eancom.find_segment(tag: tag)
55
+ end
56
+
57
+ def find_structure
58
+ Eancom.find_structure(tag: tag)
59
+ end
60
+
61
+ def data_delimiter
62
+ DELIMITERS[:data]
63
+ end
64
+
65
+ def component_delimiter
66
+ DELIMITERS[:component]
67
+ end
68
+
69
+ end
70
+ end
71
+ end
@@ -1,3 +1,3 @@
1
1
  module Eancom
2
- VERSION = "0.1.0"
2
+ VERSION = "2.0.0"
3
3
  end
data/pricat.json ADDED
@@ -0,0 +1 @@
1
+ "#<File:0x00007ff38589ba40>"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eancom
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fadendaten GmbH
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-02-27 00:00:00.000000000 Z
11
+ date: 2021-05-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: pry
@@ -66,15 +66,32 @@ dependencies:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description:
69
+ - !ruby/object:Gem::Dependency
70
+ name: timecop
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ description:
70
84
  email:
71
85
  - support@fadendaten.ch
72
86
  executables: []
73
87
  extensions: []
74
88
  extra_rdoc_files: []
75
89
  files:
90
+ - ".DS_Store"
76
91
  - ".gitignore"
92
+ - ".gitlab-ci.yml"
77
93
  - ".rspec"
94
+ - ".ruby-version"
78
95
  - ".travis.yml"
79
96
  - Gemfile
80
97
  - Gemfile.lock
@@ -83,24 +100,139 @@ files:
83
100
  - Rakefile
84
101
  - bin/console
85
102
  - bin/setup
103
+ - definitions/desadv/d01b.rb
86
104
  - definitions/desadv/d96a.rb
105
+ - definitions/invoic/d01b.rb
106
+ - definitions/invoic/d96a.rb
107
+ - definitions/invrpt/d01b.rb
108
+ - definitions/invrpt/d96a.rb
109
+ - definitions/orders/d01b.rb
110
+ - definitions/orders/d96b.rb
111
+ - definitions/ordrsp/d01b.rb
112
+ - definitions/ordrsp/d96b.rb
113
+ - definitions/pricat/d01b.rb
114
+ - definitions/pricat/d96b.rb
115
+ - definitions/retann/d01b.rb
116
+ - definitions/retann/d96b.rb
117
+ - definitions/segments/ajt.rb
118
+ - definitions/segments/alc.rb
119
+ - definitions/segments/ali.rb
120
+ - definitions/segments/bgm.rb
121
+ - definitions/segments/cav.rb
122
+ - definitions/segments/cci.rb
123
+ - definitions/segments/cdi.rb
124
+ - definitions/segments/cnt.rb
125
+ - definitions/segments/cps.rb
126
+ - definitions/segments/cta.rb
127
+ - definitions/segments/cux.rb
128
+ - definitions/segments/dgs.rb
129
+ - definitions/segments/doc.rb
130
+ - definitions/segments/dtm.rb
131
+ - definitions/segments/efi.rb
132
+ - definitions/segments/eqd.rb
133
+ - definitions/segments/ftx.rb
134
+ - definitions/segments/gin.rb
135
+ - definitions/segments/imd.rb
136
+ - definitions/segments/inv.rb
137
+ - definitions/segments/lin.rb
138
+ - definitions/segments/loc.rb
139
+ - definitions/segments/mea.rb
140
+ - definitions/segments/moa.rb
141
+ - definitions/segments/nad.rb
142
+ - definitions/segments/pac.rb
143
+ - definitions/segments/pat.rb
144
+ - definitions/segments/pcd.rb
145
+ - definitions/segments/pci.rb
146
+ - definitions/segments/pgi.rb
147
+ - definitions/segments/pia.rb
148
+ - definitions/segments/pri.rb
149
+ - definitions/segments/qty.rb
150
+ - definitions/segments/rff.rb
151
+ - definitions/segments/rte.rb
152
+ - definitions/segments/tax.rb
153
+ - definitions/segments/tdt.rb
154
+ - definitions/segments/tod.rb
155
+ - definitions/segments/tru.rb
156
+ - definitions/segments/una.rb
157
+ - definitions/segments/unb.rb
158
+ - definitions/segments/unh.rb
159
+ - definitions/segments/uns.rb
160
+ - definitions/segments/unt.rb
161
+ - definitions/segments/unz.rb
162
+ - definitions/slsrpt/d01b.rb
163
+ - definitions/slsrpt/d96a.rb
87
164
  - eancom.gemspec
88
165
  - lib/eancom.rb
89
166
  - lib/eancom/definition.rb
90
167
  - lib/eancom/edifact.rb
168
+ - lib/eancom/edifact/body.rb
169
+ - lib/eancom/edifact/composite.rb
170
+ - lib/eancom/edifact/data.rb
91
171
  - lib/eancom/edifact/document.rb
92
- - lib/eancom/edifact/element.rb
93
- - lib/eancom/edifact/envelope.rb
172
+ - lib/eancom/edifact/document_element.rb
173
+ - lib/eancom/edifact/footer.rb
174
+ - lib/eancom/edifact/header.rb
175
+ - lib/eancom/edifact/item.rb
94
176
  - lib/eancom/edifact/message.rb
95
177
  - lib/eancom/edifact/segment.rb
178
+ - lib/eancom/edifact/segments/ajt.rb
179
+ - lib/eancom/edifact/segments/alc.rb
180
+ - lib/eancom/edifact/segments/ali.rb
181
+ - lib/eancom/edifact/segments/bgm.rb
182
+ - lib/eancom/edifact/segments/cav.rb
183
+ - lib/eancom/edifact/segments/cci.rb
184
+ - lib/eancom/edifact/segments/cdi.rb
185
+ - lib/eancom/edifact/segments/cnt.rb
186
+ - lib/eancom/edifact/segments/cps.rb
187
+ - lib/eancom/edifact/segments/cta.rb
188
+ - lib/eancom/edifact/segments/cux.rb
189
+ - lib/eancom/edifact/segments/dgs.rb
190
+ - lib/eancom/edifact/segments/doc.rb
191
+ - lib/eancom/edifact/segments/dtm.rb
192
+ - lib/eancom/edifact/segments/efi.rb
193
+ - lib/eancom/edifact/segments/eqd.rb
194
+ - lib/eancom/edifact/segments/ftx.rb
195
+ - lib/eancom/edifact/segments/gin.rb
196
+ - lib/eancom/edifact/segments/imd.rb
197
+ - lib/eancom/edifact/segments/inv.rb
198
+ - lib/eancom/edifact/segments/lin.rb
199
+ - lib/eancom/edifact/segments/loc.rb
200
+ - lib/eancom/edifact/segments/mea.rb
201
+ - lib/eancom/edifact/segments/moa.rb
202
+ - lib/eancom/edifact/segments/nad.rb
203
+ - lib/eancom/edifact/segments/pac.rb
204
+ - lib/eancom/edifact/segments/pat.rb
205
+ - lib/eancom/edifact/segments/pcd.rb
206
+ - lib/eancom/edifact/segments/pci.rb
207
+ - lib/eancom/edifact/segments/pgi.rb
208
+ - lib/eancom/edifact/segments/pia.rb
209
+ - lib/eancom/edifact/segments/pri.rb
210
+ - lib/eancom/edifact/segments/qty.rb
211
+ - lib/eancom/edifact/segments/rff.rb
212
+ - lib/eancom/edifact/segments/rte.rb
213
+ - lib/eancom/edifact/segments/tax.rb
214
+ - lib/eancom/edifact/segments/tdt.rb
215
+ - lib/eancom/edifact/segments/tod.rb
216
+ - lib/eancom/edifact/segments/tru.rb
217
+ - lib/eancom/edifact/segments/una.rb
218
+ - lib/eancom/edifact/segments/unb.rb
219
+ - lib/eancom/edifact/segments/unh.rb
220
+ - lib/eancom/edifact/segments/uns.rb
221
+ - lib/eancom/edifact/segments/unt.rb
222
+ - lib/eancom/edifact/segments/unz.rb
223
+ - lib/eancom/edifact/structure.rb
96
224
  - lib/eancom/factory.rb
225
+ - lib/eancom/parser.rb
226
+ - lib/eancom/parser/document.rb
227
+ - lib/eancom/parser/segment.rb
97
228
  - lib/eancom/version.rb
229
+ - pricat.json
98
230
  homepage: https://fadendaten.ch
99
231
  licenses:
100
232
  - MIT
101
233
  metadata:
102
234
  homepage_uri: https://fadendaten.ch
103
- post_install_message:
235
+ post_install_message:
104
236
  rdoc_options: []
105
237
  require_paths:
106
238
  - lib
@@ -115,8 +247,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
247
  - !ruby/object:Gem::Version
116
248
  version: '0'
117
249
  requirements: []
118
- rubygems_version: 3.0.3
119
- signing_key:
250
+ rubygems_version: 3.2.3
251
+ signing_key:
120
252
  specification_version: 4
121
253
  summary: EDIFACT Generator for the EANCOM Subset
122
254
  test_files: []