eddy 0.1.0 → 0.3.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 (309) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +103 -37
  3. data/.solargraph.yml +4 -0
  4. data/.vscode/settings.json +17 -0
  5. data/.yardopts +2 -2
  6. data/CHANGELOG.md +50 -0
  7. data/Gemfile.lock +21 -7
  8. data/README.md +32 -3
  9. data/Rakefile +1 -10
  10. data/data/004010/code-lists/100.tsv +164 -0
  11. data/data/004010/code-lists/156.tsv +52 -0
  12. data/data/004010/code-lists/26.tsv +499 -0
  13. data/data/004010/code-lists/etc/100-fancy-definitions.tsv +164 -0
  14. data/data/004010/code-lists/etc/100-with-funds-codes.tsv +180 -0
  15. data/data/004010/code-lists/etc/26-alpha2.tsv +250 -0
  16. data/data/004010/code-lists/etc/26-alpha3.tsv +250 -0
  17. data/data/004010/elements-short.tsv +1405 -0
  18. data/data/004010/elements.tsv +3 -3
  19. data/data/004010/segments.tsv +1009 -1003
  20. data/data/004010/segments/ack.segment.yml +15 -0
  21. data/data/004010/segments/bak.segment.yml +9 -0
  22. data/data/004010/segments/beg.segment.yml +17 -0
  23. data/data/004010/segments/big.segment.yml +10 -0
  24. data/data/004010/segments/bsn.segment.yml +10 -0
  25. data/data/004010/segments/cad.segment.yml +14 -0
  26. data/data/004010/segments/ctp.segment.yml +19 -0
  27. data/data/004010/segments/ctt.segment.yml +13 -0
  28. data/data/004010/segments/dtm.segment.yml +7 -0
  29. data/data/004010/segments/envelope/ge.segment.yml +7 -0
  30. data/data/004010/segments/envelope/gs.segment.yml +13 -0
  31. data/data/004010/segments/envelope/iea.segment.yml +8 -0
  32. data/data/004010/segments/envelope/isa.segment.yml +22 -0
  33. data/data/004010/segments/envelope/se.segment.yml +7 -0
  34. data/data/004010/segments/envelope/st.segment.yml +12 -0
  35. data/data/004010/segments/hl.segment.yml +9 -0
  36. data/data/004010/segments/it1.segment.yml +20 -0
  37. data/data/004010/segments/lin.segment.yml +10 -0
  38. data/data/004010/segments/loop/hl.segment.yml +8 -0
  39. data/data/004010/segments/man.segment.yml +7 -0
  40. data/data/004010/segments/n1.segment.yml +9 -0
  41. data/data/004010/segments/n2.segment.yml +7 -0
  42. data/data/004010/segments/n3.segment.yml +6 -0
  43. data/data/004010/segments/n4.segment.yml +9 -0
  44. data/data/004010/segments/pid.segment.yml +10 -0
  45. data/data/004010/segments/po1.segment.yml +14 -0
  46. data/data/004010/segments/prf.segment.yml +9 -0
  47. data/data/004010/segments/ref.segment.yml +7 -0
  48. data/data/004010/segments/sac.segment.yml +20 -0
  49. data/data/004010/segments/sln.segment.yml +12 -0
  50. data/data/004010/segments/sn1.segment.yml +11 -0
  51. data/data/004010/segments/td1.segment.yml +13 -0
  52. data/data/004010/segments/td5.segment.yml +11 -0
  53. data/data/004010/segments/tds.segment.yml +10 -0
  54. data/data/schema/element_summary.json +60 -0
  55. data/data/schema/loop_summary.json +49 -0
  56. data/data/schema/segment_summary.json +66 -0
  57. data/data/schema/src/element_summary.schema.yml +73 -0
  58. data/data/schema/src/loop_summary.schema.yml +50 -0
  59. data/data/schema/src/segment_summary.schema.yml +59 -0
  60. data/data/schema/src/transaction_set_summary.schema.yml +27 -0
  61. data/data/schema/transaction_set_summary.json +33 -0
  62. data/data/sources.md +114 -145
  63. data/eddy.gemspec +6 -3
  64. data/exe/eddy +14 -0
  65. data/lib/definitions/elements/generated/1005.hierarchical_structure_code.rb +98 -0
  66. data/lib/definitions/elements/generated/1019.invoice_type_code.rb +40 -0
  67. data/lib/definitions/elements/generated/103.packaging_code.rb +29 -0
  68. data/lib/definitions/elements/generated/1166.contract_type_code.rb +87 -0
  69. data/lib/definitions/elements/generated/1232.purchase_category.rb +53 -0
  70. data/lib/definitions/elements/generated/127.reference_identification.rb +29 -0
  71. data/lib/definitions/elements/generated/128.reference_identification_qualifier.rb +1540 -0
  72. data/lib/definitions/elements/generated/1300.service_promotion_allowance_or_charge_code.rb +1090 -0
  73. data/lib/definitions/elements/generated/1301.agency_service_promotion_allowance_or_charge_code.rb +29 -0
  74. data/lib/definitions/elements/generated/133.routing_sequence_code.rb +60 -0
  75. data/lib/definitions/elements/generated/166.address_information.rb +29 -0
  76. data/lib/definitions/elements/generated/183.volume.rb +29 -0
  77. data/lib/definitions/elements/generated/187.weight_qualifier.rb +88 -0
  78. data/lib/definitions/elements/generated/19.city_name.rb +29 -0
  79. data/lib/definitions/elements/generated/206.equipment_initial.rb +29 -0
  80. data/lib/definitions/elements/generated/207.equipment_number.rb +29 -0
  81. data/lib/definitions/elements/generated/212.unit_price.rb +29 -0
  82. data/lib/definitions/elements/generated/22.commodity_code.rb +29 -0
  83. data/lib/definitions/elements/generated/23.commodity_code_qualifier.rb +60 -0
  84. data/lib/definitions/elements/generated/234.product_service_id.rb +29 -0
  85. data/lib/definitions/elements/generated/235.product_service_id_qualifier.rb +514 -0
  86. data/lib/definitions/elements/generated/236.price_identifier_code.rb +201 -0
  87. data/lib/definitions/elements/generated/248.allowance_or_charge_indicator.rb +44 -0
  88. data/lib/definitions/elements/generated/26.country_code.rb +535 -0
  89. data/lib/definitions/elements/generated/284.service_level_code.rb +103 -0
  90. data/lib/definitions/elements/generated/324.purchase_order_number.rb +29 -0
  91. data/lib/definitions/elements/generated/326.request_reference_number.rb +29 -0
  92. data/lib/definitions/elements/generated/327.change_order_sequence_number.rb +29 -0
  93. data/lib/definitions/elements/generated/328.release_number.rb +29 -0
  94. data/lib/definitions/elements/generated/330.quantity_ordered.rb +29 -0
  95. data/lib/definitions/elements/generated/347.hash_total.rb +29 -0
  96. data/lib/definitions/elements/generated/349.item_description_type.rb +40 -0
  97. data/lib/definitions/elements/generated/352.description.rb +29 -0
  98. data/lib/definitions/elements/generated/353.transaction_set_purpose_code.rb +102 -0
  99. data/lib/definitions/elements/generated/354.number_of_line_items.rb +30 -0
  100. data/lib/definitions/elements/generated/355.unit_or_basis_for_measurement_code.rb +831 -0
  101. data/lib/definitions/elements/generated/358.quantity_invoiced.rb +29 -0
  102. data/lib/definitions/elements/generated/367.contract_number.rb +29 -0
  103. data/lib/definitions/elements/generated/368.shipment_order_status_code.rb +139 -0
  104. data/lib/definitions/elements/generated/374.date_time_qualifier.rb +1149 -0
  105. data/lib/definitions/elements/generated/380.quantity.rb +29 -0
  106. data/lib/definitions/elements/generated/382.number_of_units_shipped.rb +29 -0
  107. data/lib/definitions/elements/generated/387.routing.rb +29 -0
  108. data/lib/definitions/elements/generated/396.shipment_identification.rb +29 -0
  109. data/lib/definitions/elements/generated/559.agency_qualifier_code.rb +213 -0
  110. data/lib/definitions/elements/generated/587.acknowledgment_type.rb +52 -0
  111. data/lib/definitions/elements/generated/610.amount.rb +30 -0
  112. data/lib/definitions/elements/generated/639.basis_of_unit_price_code.rb +128 -0
  113. data/lib/definitions/elements/generated/640.transaction_type_code.rb +483 -0
  114. data/lib/definitions/elements/generated/646.quantity_shipped_to_date.rb +29 -0
  115. data/lib/definitions/elements/generated/648.price_multiplier_qualifier.rb +43 -0
  116. data/lib/definitions/elements/generated/649.multiplier.rb +29 -0
  117. data/lib/definitions/elements/generated/66.identification_code_qualifier.rb +252 -0
  118. data/lib/definitions/elements/generated/662.relationship_code.rb +42 -0
  119. data/lib/definitions/elements/generated/668.line_item_status_code.rb +63 -0
  120. data/lib/definitions/elements/generated/67.identification_code.rb +29 -0
  121. data/lib/definitions/elements/generated/687.class_of_trade_code.rb +89 -0
  122. data/lib/definitions/elements/generated/750.product_process_characteristic_code.rb +254 -0
  123. data/lib/definitions/elements/generated/751.product_description_code.rb +29 -0
  124. data/lib/definitions/elements/generated/76.invoice_number.rb +29 -0
  125. data/lib/definitions/elements/generated/782.monetary_amount.rb +29 -0
  126. data/lib/definitions/elements/generated/786.security_level_code.rb +54 -0
  127. data/lib/definitions/elements/generated/79.lading_description.rb +29 -0
  128. data/lib/definitions/elements/generated/80.lading_quantity.rb +30 -0
  129. data/lib/definitions/elements/generated/87.marks_and_numbers.rb +29 -0
  130. data/lib/definitions/elements/generated/88.marks_and_numbers_qualifier.rb +57 -0
  131. data/lib/definitions/elements/generated/91.transportation_method_type_code.rb +108 -0
  132. data/lib/definitions/elements/generated/92.purchase_order_type_code.rb +106 -0
  133. data/lib/definitions/elements/generated/98.entity_identifier_code.rb +1349 -0
  134. data/lib/definitions/elements/manual/116.postal_code.rb +44 -0
  135. data/lib/definitions/elements/manual/124.application_receivers_code.rb +29 -0
  136. data/lib/definitions/elements/manual/140.standard_carrier_alpha_code.rb +211 -0
  137. data/lib/definitions/elements/manual/142.application_senders_code.rb +29 -0
  138. data/lib/definitions/elements/manual/143.transaction_set_identifier_code.rb +335 -0
  139. data/lib/definitions/elements/manual/156.state_or_province_code.rb +92 -0
  140. data/lib/definitions/elements/manual/28.group_control_number.rb +34 -0
  141. data/lib/definitions/elements/manual/329.transactional_set_control_number.rb +35 -0
  142. data/lib/definitions/elements/manual/337.time.rb +30 -0
  143. data/lib/definitions/elements/manual/350.assigned_identification.rb +33 -0
  144. data/lib/definitions/elements/manual/373.date.rb +30 -0
  145. data/lib/definitions/elements/manual/455.responsible_agency_code.rb +43 -0
  146. data/lib/definitions/elements/manual/479.functional_identifier_code.rb +271 -0
  147. data/lib/definitions/elements/manual/480.version_release_industry_identifier_code.rb +145 -0
  148. data/lib/definitions/elements/manual/784.length_of_binary_data.rb +30 -0
  149. data/lib/definitions/elements/manual/785.binary_data.rb +30 -0
  150. data/lib/definitions/elements/manual/96.number_of_included_segments.rb +30 -0
  151. data/lib/definitions/elements/manual/97.number_of_transaction_sets_included.rb +30 -0
  152. data/lib/definitions/elements/manual/hl/628.hierarchical_id_number.rb +29 -0
  153. data/lib/definitions/elements/manual/hl/734.hierarchical_parent_id_number.rb +29 -0
  154. data/lib/definitions/elements/manual/hl/735.hierarchical_level_code.rb +207 -0
  155. data/lib/definitions/elements/manual/hl/736.hierarchical_child_code.rb +39 -0
  156. data/lib/definitions/elements/manual/i/I01.authorization_information_qualifier.rb +48 -0
  157. data/lib/definitions/elements/manual/i/I02.authorization_information.rb +33 -0
  158. data/lib/definitions/elements/manual/i/I03.security_information_qualifier.rb +43 -0
  159. data/lib/definitions/elements/manual/i/I04.security_information.rb +33 -0
  160. data/lib/definitions/elements/manual/i/I05.interchange_id_qualifier.rb +75 -0
  161. data/lib/definitions/elements/manual/i/I06.interchange_sender_id.rb +29 -0
  162. data/lib/definitions/elements/manual/i/I07.interchange_receiver_id.rb +29 -0
  163. data/lib/definitions/elements/manual/i/I08.interchange_date.rb +35 -0
  164. data/lib/definitions/elements/manual/i/I09.interchange_time.rb +36 -0
  165. data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +42 -0
  166. data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +55 -0
  167. data/lib/definitions/elements/manual/i/I12.interchange_control_number.rb +34 -0
  168. data/lib/definitions/elements/manual/i/I13.acknowledgment_requested.rb +43 -0
  169. data/lib/definitions/elements/manual/i/I14.usage_indicator.rb +40 -0
  170. data/lib/definitions/elements/manual/i/I15.component_element_separator.rb +36 -0
  171. data/lib/definitions/elements/manual/i/I16.number_of_included_functional_groups.rb +30 -0
  172. data/lib/definitions/elements/manual/misc/81.weight.rb +29 -0
  173. data/lib/definitions/elements/manual/misc/93.name.rb +29 -0
  174. data/lib/definitions/segments/generated/ack.rb +192 -0
  175. data/lib/definitions/segments/generated/bak.rb +90 -0
  176. data/lib/definitions/segments/generated/beg.rb +226 -0
  177. data/lib/definitions/segments/generated/big.rb +107 -0
  178. data/lib/definitions/segments/generated/bsn.rb +107 -0
  179. data/lib/definitions/segments/generated/cad.rb +175 -0
  180. data/lib/definitions/segments/generated/ctp.rb +158 -0
  181. data/lib/definitions/segments/generated/ctt.rb +141 -0
  182. data/lib/definitions/segments/generated/dtm.rb +56 -0
  183. data/lib/definitions/segments/generated/it1.rb +277 -0
  184. data/lib/definitions/segments/generated/lin.rb +107 -0
  185. data/lib/definitions/segments/generated/man.rb +56 -0
  186. data/lib/definitions/segments/generated/n1.rb +90 -0
  187. data/lib/definitions/segments/generated/n3.rb +39 -0
  188. data/lib/definitions/segments/generated/n4.rb +90 -0
  189. data/lib/definitions/segments/generated/pid.rb +107 -0
  190. data/lib/definitions/segments/generated/po1.rb +175 -0
  191. data/lib/definitions/segments/generated/prf.rb +90 -0
  192. data/lib/definitions/segments/generated/ref.rb +56 -0
  193. data/lib/definitions/segments/generated/sac.rb +107 -0
  194. data/lib/definitions/segments/generated/sln.rb +141 -0
  195. data/lib/definitions/segments/generated/sn1.rb +124 -0
  196. data/lib/definitions/segments/generated/td1.rb +158 -0
  197. data/lib/definitions/segments/generated/td5.rb +107 -0
  198. data/lib/definitions/segments/generated/tds.rb +39 -0
  199. data/lib/definitions/segments/manual/envelopes/ge.rb +53 -0
  200. data/lib/definitions/segments/manual/envelopes/gs.rb +163 -0
  201. data/lib/definitions/segments/manual/envelopes/iea.rb +53 -0
  202. data/lib/definitions/segments/manual/envelopes/isa.rb +295 -0
  203. data/lib/definitions/segments/manual/envelopes/se.rb +52 -0
  204. data/lib/definitions/segments/manual/envelopes/st.rb +52 -0
  205. data/lib/definitions/segments/manual/hl.rb +96 -0
  206. data/lib/definitions/segments/manual/n2.rb +52 -0
  207. data/lib/definitions/transaction_sets/manual/810/810.rb +143 -0
  208. data/lib/definitions/transaction_sets/manual/810/loops.rb +109 -0
  209. data/lib/definitions/transaction_sets/manual/850/850.rb +92 -0
  210. data/lib/definitions/transaction_sets/manual/850/loops.rb +58 -0
  211. data/lib/definitions/transaction_sets/manual/855/855.rb +83 -0
  212. data/lib/definitions/transaction_sets/manual/855/loops.rb +104 -0
  213. data/lib/definitions/transaction_sets/manual/856/856.rb +83 -0
  214. data/lib/definitions/transaction_sets/manual/856/loops.rb +155 -0
  215. data/lib/eddy.rb +29 -7
  216. data/lib/eddy/build/build.rb +47 -0
  217. data/lib/eddy/build/elements/element.rb +67 -0
  218. data/lib/eddy/build/elements/elements.rb +46 -0
  219. data/lib/eddy/build/elements/id.rb +55 -0
  220. data/lib/eddy/build/elements/n.rb +48 -0
  221. data/lib/eddy/build/loop_builder.rb +93 -0
  222. data/lib/eddy/build/segment_builder.rb +169 -0
  223. data/lib/eddy/build/transaction_set_builder.rb +218 -0
  224. data/lib/eddy/cli/cli.rb +39 -0
  225. data/lib/eddy/config.rb +51 -0
  226. data/lib/eddy/data.rb +50 -0
  227. data/lib/eddy/data/persistence/active_record.rb +10 -0
  228. data/lib/eddy/data/persistence/base.rb +47 -0
  229. data/lib/eddy/data/persistence/file.rb +50 -0
  230. data/lib/eddy/data/persistence/memory.rb +65 -0
  231. data/lib/eddy/data/store.rb +108 -0
  232. data/lib/eddy/errors.rb +112 -0
  233. data/lib/eddy/models/element.rb +14 -0
  234. data/lib/eddy/models/element/an.rb +55 -0
  235. data/lib/eddy/models/element/b.rb +53 -0
  236. data/lib/eddy/models/element/base.rb +116 -0
  237. data/lib/eddy/models/element/composite.rb +6 -0
  238. data/lib/eddy/models/element/dt.rb +100 -0
  239. data/lib/eddy/models/element/id.rb +58 -0
  240. data/lib/eddy/models/element/n.rb +94 -0
  241. data/lib/eddy/models/element/r.rb +84 -0
  242. data/lib/eddy/models/element/tm.rb +113 -0
  243. data/lib/eddy/models/loop.rb +74 -0
  244. data/lib/eddy/models/segment.rb +35 -0
  245. data/lib/eddy/models/transaction_set.rb +101 -0
  246. data/lib/eddy/parse.rb +58 -0
  247. data/lib/eddy/schema/element_summary.rb +123 -0
  248. data/lib/eddy/schema/loop_summary.rb +101 -0
  249. data/lib/eddy/schema/segment_summary.rb +116 -0
  250. data/lib/eddy/schema/transaction_set_summary.rb +96 -0
  251. data/lib/eddy/schema/validate.rb +41 -0
  252. data/lib/eddy/util.rb +16 -0
  253. data/lib/eddy/util/clean_folder.rb +14 -0
  254. data/lib/eddy/util/edi_data.rb +153 -0
  255. data/lib/eddy/util/new_number.rb +24 -0
  256. data/lib/eddy/util/normalize.rb +51 -0
  257. data/lib/eddy/util/paths.rb +19 -0
  258. data/lib/eddy/util/read.rb +38 -0
  259. data/lib/eddy/util/time.rb +56 -0
  260. data/lib/eddy/util/timestamp.rb +12 -0
  261. data/lib/eddy/util/trim.rb +29 -0
  262. data/lib/eddy/version.rb +1 -1
  263. data/lib/eddy/write/functional_group.rb +33 -0
  264. data/lib/eddy/write/interchange.rb +28 -0
  265. data/lib/eddy/write/simple_interchange.rb +57 -0
  266. data/lib/generators/eddy/initializer/initializer_generator.rb +17 -0
  267. data/lib/generators/eddy/initializer/templates/eddy.rb.erb +6 -0
  268. data/lib/generators/eddy/migration/migration_generator.rb +53 -0
  269. data/lib/generators/eddy/migration/templates/migration.rb.erb +35 -0
  270. data/tasks/build.rake +15 -0
  271. data/tasks/misc/gemspec.rake +12 -0
  272. data/tasks/misc/missing_lists.rake +240 -0
  273. data/tasks/misc/yaml2json.rake +20 -0
  274. data/todo.txt +16 -0
  275. metadata +297 -42
  276. data/data/004010/segments/ISA.tsv +0 -17
  277. data/data/schema.jsonc +0 -67
  278. data/lib/eddy/build/build_an.rb +0 -31
  279. data/lib/eddy/build/build_dt.rb +0 -46
  280. data/lib/eddy/build/build_elements.rb +0 -181
  281. data/lib/eddy/build/build_id.rb +0 -56
  282. data/lib/eddy/build/build_r_and_n.rb +0 -69
  283. data/lib/eddy/build/build_tm.rb +0 -52
  284. data/lib/eddy/build/segments.rb +0 -25
  285. data/lib/eddy/definitions/manual/elements/109.dt.pickup_date.rb +0 -20
  286. data/lib/eddy/definitions/manual/elements/111.tm.pickup_time.rb +0 -20
  287. data/lib/eddy/definitions/manual/elements/112.an.pier_name.rb +0 -19
  288. data/lib/eddy/definitions/manual/elements/785.b.binary_data.rb +0 -19
  289. data/lib/eddy/definitions/manual/elements/81.r.weight.rb +0 -19
  290. data/lib/eddy/definitions/manual/elements/86.n0.total_equipment.rb +0 -20
  291. data/lib/eddy/definitions/manual/elements/I02.authorization_information.rb +0 -20
  292. data/lib/eddy/definitions/manual/elements/I04.security_information.rb +0 -20
  293. data/lib/eddy/definitions/manual/elements/I08.interchange_date.rb +0 -20
  294. data/lib/eddy/definitions/manual/elements/I09.interchange_time.rb +0 -20
  295. data/lib/eddy/definitions/manual/elements/I15.component_element_separator.rb +0 -32
  296. data/lib/eddy/definitions/manual/segments/n1.rb +0 -14
  297. data/lib/eddy/element.rb +0 -14
  298. data/lib/eddy/element/an.rb +0 -36
  299. data/lib/eddy/element/b.rb +0 -9
  300. data/lib/eddy/element/base.rb +0 -37
  301. data/lib/eddy/element/dt.rb +0 -89
  302. data/lib/eddy/element/id.rb +0 -40
  303. data/lib/eddy/element/n.rb +0 -43
  304. data/lib/eddy/element/r.rb +0 -47
  305. data/lib/eddy/element/tm.rb +0 -108
  306. data/lib/eddy/error.rb +0 -14
  307. data/lib/eddy/helpers.rb +0 -31
  308. data/lib/eddy/segment.rb +0 -12
  309. data/lib/eddy/transaction_set.rb +0 -35
@@ -0,0 +1,58 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 850 and its loops.
4
+ module TS850
5
+ module Loops
6
+
7
+ # ### Loop Summary:
8
+ #
9
+ # - Repeat: 200
10
+ # - Components:
11
+ # - N1
12
+ # - N3
13
+ # - N4
14
+ class N1 < Eddy::Loop::Base
15
+ # @param store [Eddy::Data::Store]
16
+ # @return [void]
17
+ def initialize(store)
18
+ super(store)
19
+ @repeat= 200
20
+ @components = [
21
+ Eddy::Segments::N1,
22
+ Eddy::Segments::N3,
23
+ Eddy::Segments::N4,
24
+ ]
25
+ end
26
+
27
+ # @!method add_iteration(&block)
28
+ # @yieldparam [Eddy::Segments::N1] n1
29
+ # @yieldparam [Eddy::Segments::N3] n3
30
+ # @yieldparam [Eddy::Segments::N4] n4
31
+ # @return [void]
32
+ end
33
+
34
+ # ### Loop Summary:
35
+ #
36
+ # - Repeat: 100,000
37
+ # - Components:
38
+ # - PO1
39
+ class PO1 < Eddy::Loop::Base
40
+ # @param store [Eddy::Data::Store]
41
+ # @return [void]
42
+ def initialize(store)
43
+ super(store)
44
+ @repeat = 100_000
45
+ @components = [
46
+ Eddy::Segments::PO1,
47
+ ]
48
+ end
49
+
50
+ # @!method add_iteration(&block)
51
+ # @yieldparam [Eddy::Segments::PO1] po1
52
+ # @return [void]
53
+ end
54
+
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,83 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 855 and its loops.
4
+ module TS855
5
+ # ### Transaction Set Summary:
6
+ #
7
+ # - Id: 855
8
+ # - Name: Purchase Order Acknowledgement
9
+ # - Functional Group: PR
10
+ class TS855 < Eddy::TransactionSet
11
+
12
+ ID = "855".freeze
13
+ NAME = "Purchase Order Acknowledgement".freeze
14
+ FUNCTIONAL_GROUP = "PR".freeze
15
+
16
+ # @param store [Eddy::Data::Store]
17
+ # @return [void]
18
+ def initialize(store)
19
+ @bak = Eddy::Segments::BAK.new(store)
20
+ @l_n1 = Eddy::TransactionSets::TS855::Loops::N1.new(store)
21
+ @l_po1 = Eddy::TransactionSets::TS855::Loops::PO1.new(store)
22
+ @ctt = Eddy::Segments::CTT.new(store)
23
+ super(
24
+ store,
25
+ @bak,
26
+ @l_n1,
27
+ @l_po1,
28
+ @ctt,
29
+ )
30
+ end
31
+
32
+ # (see Eddy::Segments::BAK)
33
+ #
34
+ # @yieldparam [Eddy::Segments::BAK] bak
35
+ # @return [Eddy::Segments::BAK]
36
+ def BAK()
37
+ yield(@bak) if block_given?
38
+ return @bak
39
+ end
40
+
41
+ # (see Eddy::TransactionSets::TS855::Loops::N1)
42
+ #
43
+ # @yieldparam [Eddy::Segments::N1] n1
44
+ # @yieldparam [Eddy::Segments::N3] n3
45
+ # @yieldparam [Eddy::Segments::N4] n4
46
+ # @return [void]
47
+ def L_N1(&block)
48
+ if block_given?
49
+ @l_n1.add_iteration(&block)
50
+ else
51
+ raise Eddy::Errors::Error, "No block given in loop iteration"
52
+ end
53
+ return nil
54
+ end
55
+
56
+ # (see Eddy::TransactionSets::TS855::Loops::PO1)
57
+ #
58
+ # @yieldparam [Eddy::Segments::PO1] po1
59
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::PID] l_pid
60
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::ACK] l_ack
61
+ # @return [void]
62
+ def L_PO1(&block)
63
+ if block_given?
64
+ @l_po1.add_iteration(&block)
65
+ else
66
+ raise Eddy::Errors::Error, "No block given in loop iteration"
67
+ end
68
+ return nil
69
+ end
70
+
71
+ # (see Eddy::Segments::CTT)
72
+ #
73
+ # @yieldparam [Eddy::Segments::CTT] ctt
74
+ # @return [Eddy::Segments::CTT]
75
+ def CTT()
76
+ yield(@ctt) if block_given?
77
+ return @ctt
78
+ end
79
+
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,104 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 855 and its loops.
4
+ module TS855
5
+ module Loops
6
+
7
+ # ### Loop Summary:
8
+ #
9
+ # - Repeat: 200
10
+ # - Components:
11
+ # - N1
12
+ # - N3
13
+ # - N4
14
+ class N1 < Eddy::Loop::Base
15
+ # @param store [Eddy::Data::Store]
16
+ # @return [void]
17
+ def initialize(store)
18
+ super(store)
19
+ @repeat = 200
20
+ @components = [
21
+ Eddy::Segments::N1,
22
+ Eddy::Segments::N3,
23
+ Eddy::Segments::N4,
24
+ ]
25
+ end
26
+
27
+ # @!method add_iteration(&block)
28
+ # @yieldparam [Eddy::Segments::N1] n1
29
+ # @yieldparam [Eddy::Segments::N3] n3
30
+ # @yieldparam [Eddy::Segments::N4] n4
31
+ # @return [void]
32
+ end
33
+
34
+ # ### Loop Summary:
35
+ #
36
+ # - Repeat: 100,000
37
+ # - Components:
38
+ # - PO1
39
+ # - PID (loop)
40
+ # - ACK (loop)
41
+ class PO1 < Eddy::Loop::Base
42
+ # @param store [Eddy::Data::Store]
43
+ # @return [void]
44
+ def initialize(store)
45
+ super(store)
46
+ @repeat = 100_000
47
+ @components = [
48
+ Eddy::Segments::PO1,
49
+ Eddy::TransactionSets::TS855::Loops::PID,
50
+ Eddy::TransactionSets::TS855::Loops::ACK,
51
+ ]
52
+ end
53
+
54
+ # @!method add_iteration(&block)
55
+ # @yieldparam [Eddy::Segments::PO1] po1
56
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::PID] pid
57
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::ACK] ack
58
+ # @return [void]
59
+ end
60
+
61
+ # ### Loop Summary:
62
+ #
63
+ # - Repeat: 1,000
64
+ # - Components:
65
+ # - PID
66
+ class PID < Eddy::Loop::Base
67
+ # @param store [Eddy::Data::Store]
68
+ # @return [void]
69
+ def initialize(store)
70
+ super(store)
71
+ @repeat = 1_000
72
+ @components = [
73
+ Eddy::Segments::PID,
74
+ ]
75
+ end
76
+ # @!method add_iteration()
77
+ # @yieldparam [Eddy::Segments::PID] pid
78
+ # @return [void]
79
+ end
80
+
81
+ # ### Loop Summary:
82
+ #
83
+ # - Repeat: 104
84
+ # - Components:
85
+ # - ACK
86
+ class ACK < Eddy::Loop::Base
87
+ # @param store [Eddy::Data::Store]
88
+ # @return [void]
89
+ def initialize(store)
90
+ super(store)
91
+ @repeat = 104
92
+ @components = [
93
+ Eddy::Segments::ACK,
94
+ ]
95
+ end
96
+ # @!method add_iteration()
97
+ # @yieldparam [Eddy::Segments::ACK] ack
98
+ # @return [void]
99
+ end
100
+
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,83 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 856 and its loops.
4
+ module TS856
5
+ # ### Transaction Set Summary:
6
+ #
7
+ # - Id: 856
8
+ # - Name: Ship Notice/Manifest (Advance Ship Notice)
9
+ # - Functional Group: SH
10
+ class TS856 < Eddy::TransactionSet
11
+
12
+ ID = "856".freeze
13
+ NAME = "Ship Notice/Manifest (Advance Ship Notice)".freeze
14
+ FUNCTIONAL_GROUP = "SH".freeze
15
+
16
+ # @param store [Eddy::Data::Store]
17
+ # @return [void]
18
+ def initialize(store)
19
+ @bsn = Eddy::Segments::BSN.new(store)
20
+ @dtm = Eddy::Segments::DTM.new(store)
21
+ @hl_shipment = Eddy::TransactionSets::TS856::Loops::HL_SHIPMENT.new(store)
22
+ @ctt = Eddy::Segments::CTT.new(store)
23
+ super(
24
+ store,
25
+ @bsn,
26
+ @dtm,
27
+ @hl_shipment,
28
+ @ctt,
29
+ )
30
+ end
31
+
32
+ # (see Eddy::Segments::BSN)
33
+ #
34
+ # @yieldparam [Eddy::Segments::BSN] bsn
35
+ # @return [Eddy::Segments::BSN]
36
+ def BSN()
37
+ yield(@bsn) if block_given?
38
+ return @bsn
39
+ end
40
+
41
+ # (see Eddy::Segments::DTM)
42
+ #
43
+ # @yieldparam [Eddy::Segments::DTM] dtm
44
+ # @return [Eddy::Segments::DTM]
45
+ def DTM()
46
+ yield(@dtm) if block_given?
47
+ return @dtm
48
+ end
49
+
50
+ # (see Eddy::TransactionSets::TS856::Loops::HL_SHIPMENT)
51
+ #
52
+ # @yieldparam [Eddy::Segments::HL] hl_s
53
+ # @yieldparam [Eddy::Segments::TD1] td1
54
+ # @yieldparam [Eddy::Segments::TD5] td5
55
+ # @yieldparam [Eddy::Segments::REF] ref
56
+ # @yieldparam [Eddy::Segments::DTM] dtm
57
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::N1] l_n1
58
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ORDER] hl_order
59
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_TARE] hl_tare
60
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ITEM] hl_item
61
+ # @return [void]
62
+ def HL_SHIPMENT(&block)
63
+ if block_given?
64
+ @hl_shipment.add_iteration(&block)
65
+ else
66
+ raise Eddy::Errors::Error, "No block given in loop iteration"
67
+ end
68
+ return nil
69
+ end
70
+
71
+ # (see Eddy::Segments::CTT)
72
+ #
73
+ # @yieldparam [Eddy::Segments::CTT] ctt
74
+ # @return [Eddy::Segments::CTT]
75
+ def CTT()
76
+ yield(@ctt) if block_given?
77
+ return @ctt
78
+ end
79
+
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,155 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 856 and its loops.
4
+ module TS856
5
+ module Loops
6
+
7
+ # ### Loop Summary:
8
+ #
9
+ # - Repeat: 200,000
10
+ # - Components:
11
+ # - HL
12
+ # - TD1
13
+ # - TD5
14
+ # - REF
15
+ # - DTM
16
+ # - N1 (loop)
17
+ # - HL_ORDER (loop)
18
+ # - HL_TARE (loop)
19
+ # - HL_ITEM (loop)
20
+ class HL_SHIPMENT < Eddy::Loop::Base
21
+ # @param store [Eddy::Data::Store]
22
+ # @return [void]
23
+ def initialize(store)
24
+ super(store)
25
+ @repeat = 200_000
26
+ @components = [
27
+ Eddy::Segments::HL,
28
+ Eddy::Segments::TD1,
29
+ Eddy::Segments::TD5,
30
+ Eddy::Segments::REF,
31
+ Eddy::Segments::DTM,
32
+ Eddy::TransactionSets::TS856::Loops::N1,
33
+ Eddy::TransactionSets::TS856::Loops::HL_ORDER,
34
+ Eddy::TransactionSets::TS856::Loops::HL_TARE,
35
+ Eddy::TransactionSets::TS856::Loops::HL_ITEM,
36
+ ]
37
+ end
38
+ # @!method add_iteration(&block)
39
+ # @yieldparam [Eddy::Segments::HL] hl_s
40
+ # @yieldparam [Eddy::Segments::TD1] td1
41
+ # @yieldparam [Eddy::Segments::TD5] td5
42
+ # @yieldparam [Eddy::Segments::REF] ref
43
+ # @yieldparam [Eddy::Segments::DTM] dtm
44
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::N1] l_n1
45
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ORDER] hl_order
46
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_TARE] hl_tare
47
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ITEM] hl_item
48
+ # @return [void]
49
+ end
50
+
51
+ # ### Loop Summary:
52
+ #
53
+ # - Repeat: 200
54
+ # - Components:
55
+ # - N1
56
+ # - N3
57
+ # - N4
58
+ class N1 < Eddy::Loop::Base
59
+ # @param store [Eddy::Data::Store]
60
+ # @return [void]
61
+ def initialize(store)
62
+ super(store)
63
+ @repeat = 200
64
+ @components = [
65
+ Eddy::Segments::N1,
66
+ Eddy::Segments::N3,
67
+ Eddy::Segments::N4,
68
+ ]
69
+ end
70
+ # @!method add_iteration(&block)
71
+ # @yieldparam [Eddy::Segments::N1] n1
72
+ # @yieldparam [Eddy::Segments::N3] n3
73
+ # @yieldparam [Eddy::Segments::N4] n4
74
+ # @return [void]
75
+ end
76
+
77
+ # ### Loop Summary:
78
+ #
79
+ # - Repeat: 1
80
+ # - Components:
81
+ # - HL
82
+ # - PRF
83
+ class HL_ORDER < Eddy::Loop::Base
84
+ # @param store [Eddy::Data::Store]
85
+ # @return [void]
86
+ def initialize(store)
87
+ super(store)
88
+ @repeat = 1
89
+ @components = [
90
+ Eddy::Segments::HL,
91
+ Eddy::Segments::PRF,
92
+ ]
93
+ end
94
+ # @!method add_iteration(&block)
95
+ # @yieldparam [Eddy::Segments::HL] hl_o
96
+ # @yieldparam [Eddy::Segments::PRF] prf
97
+ # @return [void]
98
+ end
99
+
100
+ # ### Loop Summary:
101
+ #
102
+ # - Repeat: 1
103
+ # - Components:
104
+ # - HL
105
+ # - MAN
106
+ class HL_TARE < Eddy::Loop::Base
107
+ # @param store [Eddy::Data::Store]
108
+ # @return [void]
109
+ def initialize(store)
110
+ super(store)
111
+ @repeat = 1
112
+ @components = [
113
+ Eddy::Segments::HL,
114
+ Eddy::Segments::MAN,
115
+ ]
116
+ end
117
+ # @!method add_iteration(&block)
118
+ # @yieldparam [Eddy::Segments::HL] hl_t
119
+ # @yieldparam [Eddy::Segments::MAN] man
120
+ # @return [void]
121
+ end
122
+
123
+ # ### Loop Summary:
124
+ #
125
+ # - Repeat: 1
126
+ # - Components:
127
+ # - HL
128
+ # - LIN
129
+ # - SN1
130
+ # - SLN
131
+ class HL_ITEM < Eddy::Loop::Base
132
+ # @param store [Eddy::Data::Store]
133
+ # @return [void]
134
+ def initialize(store)
135
+ super(store)
136
+ @repeat = 1
137
+ @components = [
138
+ Eddy::Segments::HL,
139
+ Eddy::Segments::LIN,
140
+ Eddy::Segments::SN1,
141
+ Eddy::Segments::SLN,
142
+ ]
143
+ end
144
+ # @!method add_iteration(&block)
145
+ # @yieldparam [Eddy::Segments::HL] hl_i
146
+ # @yieldparam [Eddy::Segments::LIN] lin
147
+ # @yieldparam [Eddy::Segments::SN1] sn1
148
+ # @yieldparam [Eddy::Segments::SLN] sln
149
+ # @return [void]
150
+ end
151
+
152
+ end
153
+ end
154
+ end
155
+ end