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: 67
6
+ # - Name: Identification Code
7
+ # - Type: AN
8
+ # - Min/Max: 2/80
9
+ # - Description: Code identifying a party or other code
10
+ class E67 < 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 = "67"
17
+ @name = "Identification Code"
18
+ @description = "Code identifying a party or other code"
19
+ super(
20
+ min: 2,
21
+ max: 80,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,89 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 687
6
+ # - Name: Class of Trade Code
7
+ # - Type: ID
8
+ # - Min/Max: 2/2
9
+ # - Description: Code indicating class of trade
10
+ class E687 < 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 = "687"
18
+ @name = "Class of Trade Code"
19
+ @description = "Code indicating class of trade"
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", # Branches
33
+ "AB", # Members
34
+ "AC", # Commercial Enterprises
35
+ "AD", # Special Trades
36
+ "AG", # Agent
37
+ "AI", # Importer
38
+ "AP", # Purchaser
39
+ "AS", # Seller
40
+ "BG", # Buying Group
41
+ "BR", # Broker
42
+ "CB", # Combined
43
+ "CN", # Consolidator (Master Distributor)
44
+ "CO", # Contractor
45
+ "CR", # Chain Store Retail
46
+ "CX", # Confection
47
+ "CY", # Convenience Store
48
+ "DE", # Dealer
49
+ "DF", # Doctors' Offices
50
+ "DI", # Distributor
51
+ "DR", # Drug Store
52
+ "EX", # Exporter
53
+ "FS", # Food Service
54
+ "GA", # Grocery Accounts
55
+ "GM", # General Merchandise
56
+ "GR", # General Retail
57
+ "GV", # Government
58
+ "HS", # Hospitals
59
+ "ID", # Industrial
60
+ "IN", # Institutional
61
+ "IR", # Independent Retail
62
+ "JB", # Jobber
63
+ "LC", # Long-term Care
64
+ "MC", # Managed Care
65
+ "MF", # Manufacturer
66
+ "ML", # Military
67
+ "OE", # OEM
68
+ "OF", # Off Premise
69
+ "ON", # On Premise
70
+ "PF", # Professional
71
+ "PH", # Outpatient Pharmacy
72
+ "PT", # Pet Supply Store
73
+ "PY", # Private Label
74
+ "RS", # Resale
75
+ "SA", # Services
76
+ "SB", # Support
77
+ "SE", # Securities
78
+ "ST", # Stationer
79
+ "TR", # General Trade
80
+ "WA", # Warehousing
81
+ "WC", # Warehouse Clubs
82
+ "WH", # Wholesaler
83
+ "WS", # User
84
+ ]
85
+ end
86
+
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,254 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 750
6
+ # - Name: Product/Process Characteristic Code
7
+ # - Type: ID
8
+ # - Min/Max: 2/3
9
+ # - Description: Code identifying the general class of a product or process characteristic
10
+ class E750 < 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 = "750"
18
+ @name = "Product/Process Characteristic Code"
19
+ @description = "Code identifying the general class of a product or process characteristic"
20
+ super(
21
+ min: 2,
22
+ max: 3,
23
+ req: req,
24
+ ref: ref,
25
+ val: val,
26
+ )
27
+ end
28
+
29
+ # @return [Array<String>]
30
+ def code_list()
31
+ return [
32
+ "01", # Limiting Operation
33
+ "02", # General Product Form
34
+ "08", # Product
35
+ "09", # Sub-product
36
+ "10", # Major Grade
37
+ "11", # Society, Government, Customer Specifications
38
+ "12", # Type and/or Process
39
+ "13", # Quality (Quality Level)
40
+ "14", # Finish or Surface Roughness
41
+ "15", # Heat Treat/Anneal
42
+ "16", # Temper
43
+ "17", # Coating
44
+ "18", # Surface Treatment, Chemical
45
+ "19", # Surface Treatment, Mechanical
46
+ "20", # Ends: Slitting, Splitting, Cutting
47
+ "21", # Forming
48
+ "22", # Edge Treatment
49
+ "23", # Welds/Splices
50
+ "25", # End Treatment
51
+ "28", # Test Sample Frequency
52
+ "29", # Test Sample Location
53
+ "30", # Test Sample Direction
54
+ "32", # Type of Test/Inspection
55
+ "33", # Testing and Inspection Agencies
56
+ "34", # Filament
57
+ "35", # Color
58
+ "36", # Denier
59
+ "37", # Fiber
60
+ "38", # Grade
61
+ "39", # Luster
62
+ "40", # Shade
63
+ "41", # Tint
64
+ "42", # Tow
65
+ "43", # Twist
66
+ "54", # Section Profile
67
+ "55", # Alloy
68
+ "56", # Special Processing
69
+ "58", # Winding Instructions
70
+ "59", # Surface Protection
71
+ "60", # Machine Run
72
+ "61", # End Use Application
73
+ "62", # Corrosion Resistance
74
+ "63", # Product Life Cycle
75
+ "64", # Package Integrity
76
+ "65", # Visual
77
+ "66", # Electrical
78
+ "67", # Functional Performance
79
+ "68", # Chemistry
80
+ "69", # Physical
81
+ "70", # Magnetic
82
+ "71", # Mechanical
83
+ "72", # Metallography
84
+ "73", # Vendor color description
85
+ "74", # Vendor size description
86
+ "75", # Buyer's Color Description
87
+ "76", # Dye Lot Description
88
+ "77", # Finish Description
89
+ "78", # Pattern Description
90
+ "79", # Put-up Description
91
+ "80", # MILSPEC (Military Specification)
92
+ "81", # FEDSPEC (Federal Specification)
93
+ "82", # FED-STD (Federal Standard)
94
+ "83", # CID (Commercial Item Description)
95
+ "84", # Special Specification
96
+ "85", # Appearance
97
+ "86", # Dispersion
98
+ "87", # Fluid
99
+ "88", # Flow
100
+ "89", # Moisture
101
+ "90", # Density
102
+ "91", # Buyer's Item Size Description
103
+ "92", # Fabric Description
104
+ "93", # Shipping Unit Component
105
+ "94", # Type Spinning
106
+ "95", # Wax Code
107
+ "96", # Electronically Cleaned
108
+ "97", # Conditioned Code
109
+ "99", # Precautionary Instructions
110
+ "9A", # Manufacturing Method
111
+ "9B", # Product Application
112
+ "9C", # Engine
113
+ "9D", # Transmission
114
+ "AF", # Editor
115
+ "AG", # Translator
116
+ "AT", # Process Action Taken
117
+ "B8", # Bureau of Alcohol, Tobacco and Firearms Class Code
118
+ "BC", # Behind-the-Counter Drugs
119
+ "BW", # Basis Weight Size
120
+ "C2", # Controlled Substance - Class 2
121
+ "C3", # Controlled Substance-Class 3 (Narcotic)
122
+ "C4", # Controlled Substance - Class 4
123
+ "C5", # Controlled Substance - Class 5
124
+ "C6", # Controlled Substance-Class 3N (Non-narcotic)
125
+ "CD", # Collateral Description
126
+ "CH", # Chassis
127
+ "CL", # Color - Lower Body
128
+ "CM", # Compliance Method
129
+ "CO", # Collection Method Code
130
+ "CP", # Coupling
131
+ "CS", # Coating or Paint System Code
132
+ "CU", # Color - Upper Body
133
+ "CW", # Coating or Paint System Name
134
+ "DE", # Drug Efficacy Study Implementation
135
+ "DF", # Dosage Form
136
+ "DM", # Dimensional
137
+ "EC", # Escrow Code
138
+ "EN", # Engine with Transmission
139
+ "FA", # Failure Analysis Process
140
+ "FC", # Fold Configurations
141
+ "FL", # Fuel
142
+ "FQ", # Quality
143
+ "GD", # Grain Direction
144
+ "GM", # General Merchandise
145
+ "GS", # Goods
146
+ "HB", # Health and Beauty Aids
147
+ "HY", # Hydraulics
148
+ "HZ", # Hazardous Material
149
+ "KI", # Kit
150
+ "LC", # Lead/Copper Sample Type
151
+ "LO", # Coordinate Description Code
152
+ "MA", # Material Status, Outside Processor
153
+ "MB", # Marking
154
+ "MS", # Medical Supplies
155
+ "NH", # Non-Hazardous Material
156
+ "OC", # Options
157
+ "OD", # Odorized
158
+ "OR", # Orientation
159
+ "OT", # Over-the-Counter Drug
160
+ "P6", # Percentage of Alcohol
161
+ "PD", # Physical Form: As Diluted
162
+ "PF", # Physical Form: Concentrate
163
+ "PG", # Program
164
+ "PP", # Process/Production Unit
165
+ "PR", # Manufacturing Process
166
+ "R3", # Proof
167
+ "RA", # Route of Administration
168
+ "RM", # Results Method Code
169
+ "RR", # Rejection Reason
170
+ "RX", # Prescription Drug
171
+ "SC", # Source
172
+ "SE", # Services
173
+ "SF", # Service Feature
174
+ "ST", # Sample Type
175
+ "TC", # Therapeutic Class
176
+ "TE", # Therapeutic Equivalency Evaluation
177
+ "TF", # Filtering
178
+ "TP", # Typeface
179
+ "TR", # Trimming
180
+ "TZ", # Bureau of Alcohol, Tobacco and Firearms Type Code
181
+ "VA", # Vehicle
182
+ "VC", # Volatile Organic Compound Control
183
+ "VI", # Vintage
184
+ "WD", # Warranty Description
185
+ "WF", # Wine Fruit
186
+ "WT", # Waste
187
+ "ZZ", # Mutually Defined
188
+ "AGE", # Age
189
+ "BCC", # Beverage Contents Characteristics, (e.g., Kosher, No Sulfites, etc. (Industry List)
190
+ "BES", # Beverage Segment
191
+ "BEV", # Beverage Category
192
+ "BLM", # Bottomhole Location Method Code
193
+ "BND", # Brand Group
194
+ "BPI", # Bottomhole Pressure Method Indicator Code
195
+ "BRG", # Brand Group: A grouping of similar brands, (e.g., Johnnie Walker)
196
+ "CCN", # Common Chemical Name
197
+ "CFC", # Company Field Code
198
+ "CHF", # Chemical Family
199
+ "CLT", # Casing/Liner/Tubing Type
200
+ "CMS", # Commercial Status
201
+ "DAC", # Damage Code
202
+ "DAF", # Damage Fault
203
+ "DIR", # Directional Indicator
204
+ "FCD", # Field Code (EIA/DOD)
205
+ "FDD", # Forecast Deviation
206
+ "FLV", # Flavor
207
+ "FMR", # Formula
208
+ "GEN", # General Description
209
+ "HZR", # Hazard Rating System
210
+ "ING", # Ingredient
211
+ "INJ", # Injectables
212
+ "MAC", # Material Classification
213
+ "MBU", # Minerals Management Service/Bureau of Land Management (Indian Land) Property/Unit Number
214
+ "MSG", # Market Segment
215
+ "ODR", # Odor
216
+ "PFA", # Physical Form
217
+ "PFC", # Perforation Continuity Indicator
218
+ "PFG", # Physical Form: Gas
219
+ "PFI", # Perforation Interval(s)
220
+ "PFK", # Physical Form: Aerosol
221
+ "PFL", # Physical Form: Liquid
222
+ "PFM", # Physical Form: Emulsion
223
+ "PFN", # Physical Form: Semisolid
224
+ "PFP", # Physical Form: Powder
225
+ "PFS", # Physical Form: Solid
226
+ "PFT", # Perforation Type
227
+ "PRI", # Grape Variety
228
+ "PRO", # Proprietary
229
+ "PSC", # Pipeline Stream
230
+ "PUB", # Public Information
231
+ "PUR", # Pure Form
232
+ "QAS", # Quality Assurance Status
233
+ "RCC", # Reservoir Code (Company)
234
+ "RSD", # Regulatory (State) District
235
+ "RSE", # Regulatory (State) Entity Code
236
+ "SEC", # Secret or Confidential Information
237
+ "SIZ", # Sizing
238
+ "SLM", # Surface Location Method Code
239
+ "SOL", # Solubility
240
+ "STL", # State Controlled
241
+ "SYN", # Synonym
242
+ "THR", # Threshold
243
+ "TIF", # Title Insurance Form
244
+ "TIR", # Tire
245
+ "TRN", # Trade Name
246
+ "TWF", # Theoretical Weight Formula
247
+ "WLC", # Well Classification
248
+ "WTT", # Well Test Type
249
+ ]
250
+ end
251
+
252
+ end
253
+ end
254
+ end
@@ -0,0 +1,29 @@
1
+ module Eddy
2
+ module Elements
3
+ # ### Element Summary:
4
+ #
5
+ # - Id: 751
6
+ # - Name: Product Description Code
7
+ # - Type: AN
8
+ # - Min/Max: 1/12
9
+ # - Description: A code from an industry code list which provides specific data about a product characteristic
10
+ class E751 < 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 = "751"
17
+ @name = "Product Description Code"
18
+ @description = "A code from an industry code list which provides specific data about a product characteristic"
19
+ super(
20
+ min: 1,
21
+ max: 12,
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: 76
6
+ # - Name: Invoice Number
7
+ # - Type: AN
8
+ # - Min/Max: 1/22
9
+ # - Description: Identifying number assigned by issuer
10
+ class E76 < 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 = "76"
17
+ @name = "Invoice Number"
18
+ @description = "Identifying number assigned by issuer"
19
+ super(
20
+ min: 1,
21
+ max: 22,
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: 782
6
+ # - Name: Monetary Amount
7
+ # - Type: R
8
+ # - Min/Max: 1/18
9
+ # - Description: Monetary amount
10
+ class E782 < 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 = "782"
17
+ @name = "Monetary Amount"
18
+ @description = "Monetary amount"
19
+ super(
20
+ min: 1,
21
+ max: 18,
22
+ req: req,
23
+ ref: ref,
24
+ val: val,
25
+ )
26
+ end
27
+ end
28
+ end
29
+ end