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,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 380
6
+ # - Name: Quantity
7
+ # - Type: R
8
+ # - Min/Max: 1/15
9
+ # - Description: Numeric value of quantity
10
+ class E380 < Eddy::Element::R
11
+ # @param val [Float]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "380"
17
+ @name = "Quantity"
18
+ @description = "Numeric value of quantity"
19
+ super(
20
+ min: 1,
21
+ max: 15,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 382
6
+ # - Name: Number of Units Shipped
7
+ # - Type: R
8
+ # - Min/Max: 1/10
9
+ # - Description: Numeric value of units shipped in manufacturer's shipping units for a line item or transaction set
10
+ class E382 < Eddy::Element::R
11
+ # @param val [Float]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "382"
17
+ @name = "Number of Units Shipped"
18
+ @description = "Numeric value of units shipped in manufacturer's shipping units for a line item or transaction set"
19
+ super(
20
+ min: 1,
21
+ max: 10,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 387
6
+ # - Name: Routing
7
+ # - Type: AN
8
+ # - Min/Max: 1/35
9
+ # - Description: Free-form description of the routing or requested routing for shipment, or the originating carrier's identity
10
+ class E387 < Eddy::Element::AN
11
+ # @param val [String]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "387"
17
+ @name = "Routing"
18
+ @description = "Free-form description of the routing or requested routing for shipment, or the originating carrier's identity"
19
+ super(
20
+ min: 1,
21
+ max: 35,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 396
6
+ # - Name: Shipment Identification
7
+ # - Type: AN
8
+ # - Min/Max: 2/30
9
+ # - Description: A unique control number assigned by the original shipper to identify a specific shipment
10
+ class E396 < Eddy::Element::AN
11
+ # @param val [String]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "396"
17
+ @name = "Shipment Identification"
18
+ @description = "A unique control number assigned by the original shipper to identify a specific shipment"
19
+ super(
20
+ min: 2,
21
+ max: 30,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,213 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 559
6
+ # - Name: Agency Qualifier Code
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code identifying the agency assigning the code values
10
+ class E559 < Eddy::Element::ID
11
+
12
+ # @param val [String]
13
+ # @param req [String]
14
+ # @param ref [String]
15
+ # @return [void]
16
+ def initialize(val: nil, req: nil, ref: nil)
17
+ @id = "559"
18
+ @name = "Agency Qualifier Code"
19
+ @description = "Code identifying the agency assigning the code values"
20
+ super(
21
+ min: 2,
22
+ max: 2,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "10", # Alabama
33
+ "11", # Alaska
34
+ "12", # Arizona
35
+ "13", # Arkansas
36
+ "14", # California
37
+ "15", # Colorado
38
+ "16", # Connecticut
39
+ "17", # Delaware
40
+ "18", # District of Columbia
41
+ "19", # Florida
42
+ "20", # Georgia
43
+ "21", # Hawaii
44
+ "22", # Idaho
45
+ "23", # Illinois
46
+ "24", # Indiana
47
+ "25", # Iowa
48
+ "26", # Kansas
49
+ "27", # Louisiana
50
+ "28", # Kentucky
51
+ "29", # Maine
52
+ "30", # Maryland
53
+ "31", # Massachusetts
54
+ "32", # Michigan
55
+ "33", # Minnesota
56
+ "34", # Mississippi
57
+ "35", # Missouri
58
+ "36", # Montana
59
+ "37", # Nebraska
60
+ "38", # Nevada
61
+ "39", # New Hampshire
62
+ "40", # New Jersey
63
+ "41", # New Mexico
64
+ "42", # New York
65
+ "43", # North Carolina
66
+ "44", # North Dakota
67
+ "45", # Ohio
68
+ "46", # Oklahoma
69
+ "47", # Oregon
70
+ "48", # Pennsylvania
71
+ "49", # Rhode Island
72
+ "50", # South Carolina
73
+ "51", # South Dakota
74
+ "52", # Tennessee
75
+ "53", # Texas
76
+ "54", # Utah
77
+ "55", # Vermont
78
+ "56", # Virginia
79
+ "57", # Washington
80
+ "58", # West Virginia
81
+ "59", # Wisconsin
82
+ "60", # Wyoming
83
+ "93", # Dun & Bradstreet
84
+ "94", # Code Assigned by the Organization that is the Ultimate Destination of the Transaction Set
85
+ "A1", # American Land Title Association
86
+ "A2", # California Land Title Association
87
+ "A3", # Texas Land Title Association
88
+ "A4", # Assigned by Carrier
89
+ "AA", # Aluminum Association
90
+ "AB", # Assigned by Buyer
91
+ "AC", # American Conference of Government Industrial Hygienists (ACGIH)
92
+ "AD", # Agency Company Organization for Research and Development (ACORD)
93
+ "AE", # Advertising Industry
94
+ "AG", # State Agency Assigned
95
+ "AH", # American Industrial Hygiene Association (AIHA)
96
+ "AI", # Automotive Industry Action Group
97
+ "AJ", # Real Estate Information Industry
98
+ "AL", # National Alcohol Beverage Control Association
99
+ "AM", # American Medical Association
100
+ "AP", # American Petroleum Institute
101
+ "AQ", # American Public Works Association (APWA) One Call Systems International (OCSI)
102
+ "AS", # Assigned by Seller
103
+ "AT", # American Society for Testing and Materials (ASTM)
104
+ "AW", # American Welding Society (AWS)
105
+ "AX", # ANSI Accredited Standards Committee, X12
106
+ "AY", # American Yarn Spinners Association (AYSA)
107
+ "BE", # Bell Communications Research (Bellcore)
108
+ "BF", # National Business Forms Association
109
+ "BI", # Book Industry Systems Advisory Committee
110
+ "CA", # Chemical Abstract Services (CAS)
111
+ "CB", # Copper and Brass Fabricators Council, Inc.
112
+ "CC", # National Cotton Council of America
113
+ "CE", # Construction Specification Institute (CSI) Extended
114
+ "CI", # Chemical Industry Data Exchange (CIDX)
115
+ "CL", # Collision Industry Electronic Commerce Association (CIECA)
116
+ "CM", # Carbide Manufacturers
117
+ "CO", # County Designator Code
118
+ "CR", # Commander - Rome Air Development Center
119
+ "CS", # Construction Specification Institute (CSI)
120
+ "CU", # Committee for Uniform Security Identification Procedures (CUSIP)
121
+ "CX", # National Association of Corrosion Engineers (NACE)
122
+ "DA", # Food and Drug Administration (FDA)
123
+ "DD", # Department of Defense
124
+ "DE", # Drug Enforcement Administration
125
+ "DF", # Department of Defense (DoD)
126
+ "DI", # Deutsches Institut fur Normung (DIN)
127
+ "DL", # Defense Logistics Agency
128
+ "DN", # Department of the Navy
129
+ "DO", # United States Department of Transportation (DOT)
130
+ "DR", # National Wholesale Druggists Association
131
+ "DS", # Defense Finance and Accounting Service (DFAS)
132
+ "DX", # United States Marine Corps
133
+ "DY", # Department of Air Force
134
+ "DZ", # Department of Army
135
+ "EI", # Electronic Industries Association
136
+ "EP", # United States Environmental Protection Agency (EPA)
137
+ "ES", # Environment and Safety Data Exchange (ESDX)
138
+ "ET", # Temporary Help Industry
139
+ "EU", # Electric Utilities
140
+ "EX", # Electronics Industry Data Exchange (EIDX)
141
+ "FA", # Fabric and Supplier Linkage Council (FASLINC)
142
+ "FC", # Federal Communications Commission (FCC)
143
+ "FD", # Uniform Code Council (UCS)
144
+ "FG", # Federal Government
145
+ "FH", # Federal Highway Administration
146
+ "FI", # American Furniture Manufacturers Association
147
+ "GC", # Graphics Communications Association
148
+ "GS", # General Services Administration (GSA)
149
+ "GU", # Natural Gas Utilities
150
+ "HC", # Health Care Financing Administration
151
+ "HI", # Health Insurance Association of America
152
+ "HS", # Department of Health and Human Services
153
+ "HU", # Department of Housing and Urban Development
154
+ "IA", # International Agency for Research on Cancer (IARC)
155
+ "IB", # International Association of Industrial Accident Boards and Commissions
156
+ "IC", # International Air Transport Association (IATA)
157
+ "IM", # Iron and Steel Standards Committee ISM
158
+ "IN", # International Association of Corporation Administrators
159
+ "IS", # International Standards Organization
160
+ "JA", # Japanese Standards Association
161
+ "LA", # Life and Annuity Industry Committee
162
+ "LB", # Department of Labor
163
+ "LI", # Leasing Industry
164
+ "MA", # Mortgage Bankers Association of America
165
+ "MB", # Office of Management and Budget
166
+ "MC", # Manufacturing Company
167
+ "ME", # American Society of Mechanical Engineers (ASME)
168
+ "MI", # ABCD - The Microcomputer Industry Association
169
+ "MP", # Material Safety Data Sheet (MSDS) Provider
170
+ "MS", # Military Standard
171
+ "MV", # American Association of Motor Vehicle Administrators (AAMVA)
172
+ "NA", # National Insurance Crime Bureau (NICB)
173
+ "NB", # National Association of Business and Educational Radio
174
+ "NC", # National Council on Compensation Insurance
175
+ "NE", # National Electric Manufacturers Association (NEMA)
176
+ "NF", # National Fire Protection Agency (NFPA)
177
+ "NG", # National Auto Glass Specification (NAGS)
178
+ "NI", # National Institute of Occupational Safety and Health (NIOSH)
179
+ "NR", # National Retail Merchants Association
180
+ "NS", # National Center for State Courts
181
+ "NT", # National Toxicology Program (NTP)
182
+ "NU", # United States Nuclear Regulatory Commission
183
+ "NW", # Newspaper Association of America
184
+ "OI", # Optical Industry
185
+ "OP", # Office Products
186
+ "OS", # United States Occupational Safety and Health Administration (OSHA)
187
+ "PA", # American Paper Institute
188
+ "PC", # Pennsylvania Courts
189
+ "SA", # Society of Automotive Engineers, Inc. (SAE)
190
+ "SE", # Serials Industry Systems Advisory Committee (SISAC)
191
+ "SL", # Student Loan Guarantor
192
+ "SP", # American Society for Automation in Pharmacy
193
+ "ST", # American Iron & Steel Institute
194
+ "TA", # Air Transport Association of America
195
+ "TB", # Textile Distributors Association, Inc.
196
+ "TC", # Textile Apparel Linkage Council (TALC)
197
+ "TD", # Transportation Data Coordinating Committee: Electronic Data Interchange Association (TDCC:EDIA)
198
+ "TI", # Telecommunications Industry
199
+ "TM", # American Textile Manufacturers Institute
200
+ "TP", # Canadian Freight Classification
201
+ "TR", # American Trucking Associations
202
+ "TX", # American Apparel Manufacturers Association
203
+ "UC", # United States Courts
204
+ "UN", # United Nations (UN)
205
+ "VI", # Voluntary Inter-Industry Commerce Standard (VICS) EDI
206
+ "WH", # Canadian Workplace Hazardous Materials Information System (WHMIS)
207
+ "ZZ", # Mutually Defined
208
+ ]
209
+ end
210
+
211
+ end
212
+ end
213
+ end
@@ -0,0 +1,52 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 587
6
+ # - Name: Acknowledgment Type
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code specifying the type of acknowledgment
10
+ class E587 < Eddy::Element::ID
11
+
12
+ # @param val [String]
13
+ # @param req [String]
14
+ # @param ref [String]
15
+ # @return [void]
16
+ def initialize(val: nil, req: nil, ref: nil)
17
+ @id = "587"
18
+ @name = "Acknowledgment Type"
19
+ @description = "Code specifying the type of acknowledgment"
20
+ super(
21
+ min: 2,
22
+ max: 2,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "AC", # Acknowledge - With Detail and Change
33
+ "AD", # Acknowledge - With Detail, No Change
34
+ "AE", # Acknowledge - With Exception Detail Only
35
+ "AH", # Acknowledge - Hold Status
36
+ "AK", # Acknowledge - No Detail or Change
37
+ "AP", # Acknowledge - Product Replenishment
38
+ "AT", # Accepted
39
+ "NA", # No Acknowledgment Needed
40
+ "RD", # Reject with Detail
41
+ "RF", # Reject with Exception Detail Only
42
+ "RJ", # Rejected - No Detail
43
+ "RN", # Rejected - Not as Agreed
44
+ "RO", # Rejected With Counter Offer
45
+ "RV", # Rejected - Violates Industry Practices
46
+ "ZZ", # Mutually Defined
47
+ ]
48
+ end
49
+
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,30 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 610
6
+ # - Name: Amount
7
+ # - Type: N2
8
+ # - Min/Max: 1/15
9
+ # - Description: Monetary amount
10
+ class E610 < Eddy::Element::N
11
+ # @param val [Integer]
12
+ # @param req [String]
13
+ # @param ref [String]
14
+ # @return [void]
15
+ def initialize(val: nil, req: nil, ref: nil)
16
+ @id = "610"
17
+ @name = "Amount"
18
+ @description = "Monetary amount"
19
+ super(
20
+ min: 1,
21
+ max: 15,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ decimals: 2,
26
+ )
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,128 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 639
6
+ # - Name: Basis of Unit Price Code
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code identifying the type of unit price for an item
10
+ class E639 < Eddy::Element::ID
11
+
12
+ # @param val [String]
13
+ # @param req [String]
14
+ # @param ref [String]
15
+ # @return [void]
16
+ def initialize(val: nil, req: nil, ref: nil)
17
+ @id = "639"
18
+ @name = "Basis of Unit Price Code"
19
+ @description = "Code identifying the type of unit price for an item"
20
+ super(
21
+ min: 2,
22
+ max: 2,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "AA", # Bill
33
+ "AB", # Pay
34
+ "AP", # Advise Price
35
+ "AW", # Average Wholesale Price
36
+ "BD", # Before Discount
37
+ "BR", # Broker
38
+ "BW", # Biweekly Price per Unit
39
+ "CA", # Catalog
40
+ "CP", # Current Price (Subject to Change)
41
+ "CR", # Carnet
42
+ "CT", # Contract
43
+ "DI", # Distributor
44
+ "DP", # Daily Price per Unit
45
+ "DR", # Dealer
46
+ "DS", # Discount
47
+ "EC", # Estimated Credit
48
+ "EH", # Shift Differential
49
+ "ES", # Estimated
50
+ "FB", # Fabrication Cost
51
+ "FO", # Formula
52
+ "FX", # Fixed Price
53
+ "HF", # Per 100 Feet
54
+ "HP", # Price per Hundred
55
+ "HT", # Price Per 100,000
56
+ "KA", # Price with Government Furnished Property
57
+ "KP", # Escalated Price
58
+ "KR", # In Stock
59
+ "LC", # Catalog Price per Hundred
60
+ "LD", # Catalog Price per Dozen
61
+ "LE", # Catalog Price per Each
62
+ "LM", # Catalog Price per Thousand
63
+ "LR", # Previous Catalog Price
64
+ "ME", # Midterm Endorsement Price per Unit
65
+ "ML", # Price per Milliliter
66
+ "NC", # No Charge
67
+ "NE", # Not to Exceed
68
+ "NQ", # No Quote
69
+ "NS", # Not Separately Priced
70
+ "NT", # Net
71
+ "PA", # Price per Troy Ounce
72
+ "PB", # Annual Price Per Unit
73
+ "PD", # Price per Dozen
74
+ "PE", # Price per Each
75
+ "PF", # Price Per Foot
76
+ "PG", # Price per Gram
77
+ "PK", # Price per Kilogram
78
+ "PL", # Price per Liter
79
+ "PM", # Monthly Price Per Unit
80
+ "PN", # Price per Ten
81
+ "PO", # Price per Ounce
82
+ "PP", # Price per Pound
83
+ "PQ", # Posted
84
+ "PR", # Promotion
85
+ "PS", # Price Per Thousand Square Foot
86
+ "PT", # Price per Ton
87
+ "PU", # Quarterly Price per Unit
88
+ "PV", # Provisional Price
89
+ "PY", # Price per Yard
90
+ "QE", # Quoted Price per Each
91
+ "QH", # Quoted Price per Hundred
92
+ "QR", # Previous Quoted Price
93
+ "QS", # Quoted Price per Thousand
94
+ "QT", # Quoted
95
+ "RC", # Retail Price per Hundred
96
+ "RD", # Retail Price per Dozen
97
+ "RE", # Retail Price per Each
98
+ "RM", # Retail Price per Thousand
99
+ "RS", # Resale Price
100
+ "RT", # Retail
101
+ "SA", # Semi Annual Price per Unit
102
+ "SC", # Submitted Contract
103
+ "SM", # Semi Monthly Price per Unit
104
+ "SR", # Suggested Retail
105
+ "ST", # Standard
106
+ "SW", # Submitted Wholesale
107
+ "TB", # To be negotiated.
108
+ "TC", # Contract Price per Hundred
109
+ "TD", # Contract Price per Dozen
110
+ "TE", # Contract Price per Each
111
+ "TF", # Per 1000 Feet
112
+ "TM", # Contract Price per Thousand
113
+ "TP", # Price per Thousand
114
+ "TT", # Price Per 10,000
115
+ "UM", # Price per Unit of Measure
116
+ "VQ", # Verbal Quote
117
+ "WC", # Wholesale Price per Hundred
118
+ "WD", # Wholesale Price per Dozen
119
+ "WE", # Wholesale Price per Each
120
+ "WH", # Wholesale
121
+ "WI", # Weekly Price per Unit
122
+ "WM", # Wholesale Price per Thousand
123
+ ]
124
+ end
125
+
126
+ end
127
+ end
128
+ end