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,56 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: DTM
6
+ # - Name: Date/Time Reference
7
+ # - Purpose: To specify pertinent dates and times.
8
+ class DTM < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "DTM"
14
+ @name = "Date/Time Reference"
15
+ @dtm01 = Eddy::Elements::E374.new(ref: "DTM01", req: "M")
16
+ @dtm02 = Eddy::Elements::E373.new(ref: "DTM02", req: "X")
17
+ super(
18
+ store,
19
+ @dtm01,
20
+ @dtm02,
21
+ )
22
+ end
23
+
24
+ # ### DTM01
25
+ #
26
+ # - Id: 374
27
+ # - Name: Date/Time Qualifier
28
+ # - Type: ID
29
+ # - Min/Max: 3/3
30
+ # - Description: Code specifying type of date or time, or both date and time
31
+ #
32
+ # @param arg [String]
33
+ # @return [void]
34
+ def DTM01=(arg)
35
+ @dtm01.value = arg
36
+ end
37
+ alias DateTimeQualifier= DTM01=
38
+
39
+ # ### DTM02
40
+ #
41
+ # - Id: 373
42
+ # - Name: Date
43
+ # - Type: DT
44
+ # - Min/Max: 8/8
45
+ # - Description: Date expressed as CCYYMMDD
46
+ #
47
+ # @param arg [Time]
48
+ # @return [void]
49
+ def DTM02=(arg)
50
+ @dtm02.value = arg
51
+ end
52
+ alias Date= DTM02=
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,277 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: IT1
6
+ # - Name: Baseline Item Data (Invoice)
7
+ # - Purpose: To specify the basic and most frequently used line item data for the invoice and related transactions.
8
+ class IT1 < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "IT1"
14
+ @name = "Baseline Item Data (Invoice)"
15
+ @it101 = Eddy::Elements::E350.new(ref: "IT101", req: "O")
16
+ @it102 = Eddy::Elements::E358.new(ref: "IT102", req: "X")
17
+ @it103 = Eddy::Elements::E355.new(ref: "IT103", req: "X")
18
+ @it104 = Eddy::Elements::E212.new(ref: "IT104", req: "X")
19
+ @it105 = Eddy::Elements::E639.new(ref: "IT105", req: "O")
20
+ @it106 = Eddy::Elements::E235.new(ref: "IT106", req: "X")
21
+ @it107 = Eddy::Elements::E234.new(ref: "IT107", req: "X")
22
+ @it108 = Eddy::Elements::E235.new(ref: "IT108", req: "X")
23
+ @it109 = Eddy::Elements::E234.new(ref: "IT109", req: "X")
24
+ @it110 = Eddy::Elements::E235.new(ref: "IT110", req: "X")
25
+ @it111 = Eddy::Elements::E234.new(ref: "IT111", req: "X")
26
+ @it112 = Eddy::Elements::E235.new(ref: "IT112", req: "X")
27
+ @it113 = Eddy::Elements::E234.new(ref: "IT113", req: "X")
28
+ @it114 = Eddy::Elements::E235.new(ref: "IT114", req: "X")
29
+ @it115 = Eddy::Elements::E234.new(ref: "IT115", req: "X")
30
+ super(
31
+ store,
32
+ @it101,
33
+ @it102,
34
+ @it103,
35
+ @it104,
36
+ @it105,
37
+ @it106,
38
+ @it107,
39
+ @it108,
40
+ @it109,
41
+ @it110,
42
+ @it111,
43
+ @it112,
44
+ @it113,
45
+ @it114,
46
+ @it115,
47
+ )
48
+ end
49
+
50
+ # ### IT101
51
+ #
52
+ # - Id: 350
53
+ # - Name: Assigned Identification
54
+ # - Type: AN
55
+ # - Min/Max: 1/20
56
+ # - Description: Alphanumeric characters assigned for differentiation within a transaction set
57
+ #
58
+ # @param arg [String]
59
+ # @return [void]
60
+ def IT101=(arg)
61
+ @it101.value = arg
62
+ end
63
+ alias AssignedIdentification= IT101=
64
+
65
+ # ### IT102
66
+ #
67
+ # - Id: 358
68
+ # - Name: Quantity Invoiced
69
+ # - Type: R
70
+ # - Min/Max: 1/10
71
+ # - Description: Number of units invoiced (supplier units)
72
+ #
73
+ # @param arg [Float]
74
+ # @return [void]
75
+ def IT102=(arg)
76
+ @it102.value = arg
77
+ end
78
+ alias QuantityInvoiced= IT102=
79
+
80
+ # ### IT103
81
+ #
82
+ # - Id: 355
83
+ # - Name: Unit or Basis for Measurement Code
84
+ # - Type: ID
85
+ # - Min/Max: 2/2
86
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
87
+ #
88
+ # @param arg [String]
89
+ # @return [void]
90
+ def IT103=(arg)
91
+ @it103.value = arg
92
+ end
93
+ alias UnitOrBasisForMeasurementCode= IT103=
94
+
95
+ # ### IT104
96
+ #
97
+ # - Id: 212
98
+ # - Name: Unit Price
99
+ # - Type: R
100
+ # - Min/Max: 1/17
101
+ # - Description: Price per unit of product, service, commodity, etc.
102
+ #
103
+ # @param arg [Float]
104
+ # @return [void]
105
+ def IT104=(arg)
106
+ @it104.value = arg
107
+ end
108
+ alias UnitPrice= IT104=
109
+
110
+ # ### IT105
111
+ #
112
+ # - Id: 639
113
+ # - Name: Basis of Unit Price Code
114
+ # - Type: ID
115
+ # - Min/Max: 2/2
116
+ # - Description: Code identifying the type of unit price for an item
117
+ #
118
+ # @param arg [String]
119
+ # @return [void]
120
+ def IT105=(arg)
121
+ @it105.value = arg
122
+ end
123
+ alias BasisOfUnitPriceCode= IT105=
124
+
125
+ # ### IT106
126
+ #
127
+ # - Id: 235
128
+ # - Name: Product/Service ID Qualifier
129
+ # - Type: ID
130
+ # - Min/Max: 2/2
131
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
132
+ #
133
+ # @param arg [String]
134
+ # @return [void]
135
+ def IT106=(arg)
136
+ @it106.value = arg
137
+ end
138
+ alias ProductServiceIdQualifier1= IT106=
139
+
140
+ # ### IT107
141
+ #
142
+ # - Id: 234
143
+ # - Name: Product/Service ID
144
+ # - Type: AN
145
+ # - Min/Max: 1/48
146
+ # - Description: Identifying number for a product or service
147
+ #
148
+ # @param arg [String]
149
+ # @return [void]
150
+ def IT107=(arg)
151
+ @it107.value = arg
152
+ end
153
+ alias ProductServiceId1= IT107=
154
+
155
+ # ### IT108
156
+ #
157
+ # - Id: 235
158
+ # - Name: Product/Service ID Qualifier
159
+ # - Type: ID
160
+ # - Min/Max: 2/2
161
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
162
+ #
163
+ # @param arg [String]
164
+ # @return [void]
165
+ def IT108=(arg)
166
+ @it108.value = arg
167
+ end
168
+ alias ProductServiceIdQualifier2= IT108=
169
+
170
+ # ### IT109
171
+ #
172
+ # - Id: 234
173
+ # - Name: Product/Service ID
174
+ # - Type: AN
175
+ # - Min/Max: 1/48
176
+ # - Description: Identifying number for a product or service
177
+ #
178
+ # @param arg [String]
179
+ # @return [void]
180
+ def IT109=(arg)
181
+ @it109.value = arg
182
+ end
183
+ alias ProductServiceId2= IT109=
184
+
185
+ # ### IT110
186
+ #
187
+ # - Id: 235
188
+ # - Name: Product/Service ID Qualifier
189
+ # - Type: ID
190
+ # - Min/Max: 2/2
191
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
192
+ #
193
+ # @param arg [String]
194
+ # @return [void]
195
+ def IT110=(arg)
196
+ @it110.value = arg
197
+ end
198
+ alias ProductServiceIdQualifier3= IT110=
199
+
200
+ # ### IT111
201
+ #
202
+ # - Id: 234
203
+ # - Name: Product/Service ID
204
+ # - Type: AN
205
+ # - Min/Max: 1/48
206
+ # - Description: Identifying number for a product or service
207
+ #
208
+ # @param arg [String]
209
+ # @return [void]
210
+ def IT111=(arg)
211
+ @it111.value = arg
212
+ end
213
+ alias ProductServiceId3= IT111=
214
+
215
+ # ### IT112
216
+ #
217
+ # - Id: 235
218
+ # - Name: Product/Service ID Qualifier
219
+ # - Type: ID
220
+ # - Min/Max: 2/2
221
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
222
+ #
223
+ # @param arg [String]
224
+ # @return [void]
225
+ def IT112=(arg)
226
+ @it112.value = arg
227
+ end
228
+ alias ProductServiceIdQualifier4= IT112=
229
+
230
+ # ### IT113
231
+ #
232
+ # - Id: 234
233
+ # - Name: Product/Service ID
234
+ # - Type: AN
235
+ # - Min/Max: 1/48
236
+ # - Description: Identifying number for a product or service
237
+ #
238
+ # @param arg [String]
239
+ # @return [void]
240
+ def IT113=(arg)
241
+ @it113.value = arg
242
+ end
243
+ alias ProductServiceId4= IT113=
244
+
245
+ # ### IT114
246
+ #
247
+ # - Id: 235
248
+ # - Name: Product/Service ID Qualifier
249
+ # - Type: ID
250
+ # - Min/Max: 2/2
251
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
252
+ #
253
+ # @param arg [String]
254
+ # @return [void]
255
+ def IT114=(arg)
256
+ @it114.value = arg
257
+ end
258
+ alias ProductServiceIdQualifier5= IT114=
259
+
260
+ # ### IT115
261
+ #
262
+ # - Id: 234
263
+ # - Name: Product/Service ID
264
+ # - Type: AN
265
+ # - Min/Max: 1/48
266
+ # - Description: Identifying number for a product or service
267
+ #
268
+ # @param arg [String]
269
+ # @return [void]
270
+ def IT115=(arg)
271
+ @it115.value = arg
272
+ end
273
+ alias ProductServiceId5= IT115=
274
+
275
+ end
276
+ end
277
+ end
@@ -0,0 +1,107 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: LIN
6
+ # - Name: Item Identification
7
+ # - Purpose: To specify basic item identification data.
8
+ class LIN < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "LIN"
14
+ @name = "Item Identification"
15
+ @lin01 = Eddy::Elements::E350.new(ref: "LIN01", req: "O")
16
+ @lin02 = Eddy::Elements::E235.new(ref: "LIN02", req: "M")
17
+ @lin03 = Eddy::Elements::E234.new(ref: "LIN03", req: "M")
18
+ @lin04 = Eddy::Elements::E235.new(ref: "LIN04", req: "X")
19
+ @lin05 = Eddy::Elements::E234.new(ref: "LIN05", req: "X")
20
+ super(
21
+ store,
22
+ @lin01,
23
+ @lin02,
24
+ @lin03,
25
+ @lin04,
26
+ @lin05,
27
+ )
28
+ end
29
+
30
+ # ### LIN01
31
+ #
32
+ # - Id: 350
33
+ # - Name: Assigned Identification
34
+ # - Type: AN
35
+ # - Min/Max: 1/20
36
+ # - Description: Alphanumeric characters assigned for differentiation within a transaction set
37
+ #
38
+ # @param arg [String]
39
+ # @return [void]
40
+ def LIN01=(arg)
41
+ @lin01.value = arg
42
+ end
43
+ alias AssignedIdentification= LIN01=
44
+
45
+ # ### LIN02
46
+ #
47
+ # - Id: 235
48
+ # - Name: Product/Service ID Qualifier
49
+ # - Type: ID
50
+ # - Min/Max: 2/2
51
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
52
+ #
53
+ # @param arg [String]
54
+ # @return [void]
55
+ def LIN02=(arg)
56
+ @lin02.value = arg
57
+ end
58
+ alias ProductServiceIdQualifier1= LIN02=
59
+
60
+ # ### LIN03
61
+ #
62
+ # - Id: 234
63
+ # - Name: Product/Service ID
64
+ # - Type: AN
65
+ # - Min/Max: 1/48
66
+ # - Description: Identifying number for a product or service
67
+ #
68
+ # @param arg [String]
69
+ # @return [void]
70
+ def LIN03=(arg)
71
+ @lin03.value = arg
72
+ end
73
+ alias ProductServiceId1= LIN03=
74
+
75
+ # ### LIN04
76
+ #
77
+ # - Id: 235
78
+ # - Name: Product/Service ID Qualifier
79
+ # - Type: ID
80
+ # - Min/Max: 2/2
81
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
82
+ #
83
+ # @param arg [String]
84
+ # @return [void]
85
+ def LIN04=(arg)
86
+ @lin04.value = arg
87
+ end
88
+ alias ProductServiceIdQualifier2= LIN04=
89
+
90
+ # ### LIN05
91
+ #
92
+ # - Id: 234
93
+ # - Name: Product/Service ID
94
+ # - Type: AN
95
+ # - Min/Max: 1/48
96
+ # - Description: Identifying number for a product or service
97
+ #
98
+ # @param arg [String]
99
+ # @return [void]
100
+ def LIN05=(arg)
101
+ @lin05.value = arg
102
+ end
103
+ alias ProductServiceId2= LIN05=
104
+
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,56 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: MAN
6
+ # - Name: Marks and Numbers
7
+ # - Purpose: To indicate identifying marks and numbers for shipping containers.
8
+ class MAN < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "MAN"
14
+ @name = "Marks and Numbers"
15
+ @man01 = Eddy::Elements::E88.new(ref: "MAN01", req: "M")
16
+ @man02 = Eddy::Elements::E87.new(ref: "MAN02", req: "M")
17
+ super(
18
+ store,
19
+ @man01,
20
+ @man02,
21
+ )
22
+ end
23
+
24
+ # ### MAN01
25
+ #
26
+ # - Id: 88
27
+ # - Name: Marks and Numbers Qualifier
28
+ # - Type: ID
29
+ # - Min/Max: 1/2
30
+ # - Description: Code specifying the application or source of Marks and Numbers (87)
31
+ #
32
+ # @param arg [String]
33
+ # @return [void]
34
+ def MAN01=(arg)
35
+ @man01.value = arg
36
+ end
37
+ alias MarksAndNumbersQualifier= MAN01=
38
+
39
+ # ### MAN02
40
+ #
41
+ # - Id: 87
42
+ # - Name: Marks and Numbers
43
+ # - Type: AN
44
+ # - Min/Max: 1/48
45
+ # - Description: Marks and numbers used to identify a shipment or parts of a shipment
46
+ #
47
+ # @param arg [String]
48
+ # @return [void]
49
+ def MAN02=(arg)
50
+ @man02.value = arg
51
+ end
52
+ alias MarksAndNumbers= MAN02=
53
+
54
+ end
55
+ end
56
+ end