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,90 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: N1
6
+ # - Name: Name
7
+ # - Purpose: To identify a party by type of organization, name, and code
8
+ class N1 < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "N1"
14
+ @name = "Name"
15
+ @n101 = Eddy::Elements::E98.new(ref: "N101", req: "M")
16
+ @n102 = Eddy::Elements::E93.new(ref: "N102", req: "X")
17
+ @n103 = Eddy::Elements::E66.new(ref: "N103", req: "X")
18
+ @n104 = Eddy::Elements::E67.new(ref: "N104", req: "X")
19
+ super(
20
+ store,
21
+ @n101,
22
+ @n102,
23
+ @n103,
24
+ @n104,
25
+ )
26
+ end
27
+
28
+ # ### N101
29
+ #
30
+ # - Id: 98
31
+ # - Name: Entity Identifier Code
32
+ # - Type: ID
33
+ # - Min/Max: 2/3
34
+ # - Description: Code identifying an organizational entity, a physical location, property or an individual
35
+ #
36
+ # @param arg [String]
37
+ # @return [void]
38
+ def N101=(arg)
39
+ @n101.value = arg
40
+ end
41
+ alias EntityIdentifierCode= N101=
42
+
43
+ # ### N102
44
+ #
45
+ # - Id: 93
46
+ # - Name: Name
47
+ # - Type: AN
48
+ # - Min/Max: 1/60
49
+ # - Description: Free-form name
50
+ #
51
+ # @param arg [String]
52
+ # @return [void]
53
+ def N102=(arg)
54
+ @n102.value = arg
55
+ end
56
+ alias Name= N102=
57
+
58
+ # ### N103
59
+ #
60
+ # - Id: 66
61
+ # - Name: Identification Code Qualifier
62
+ # - Type: ID
63
+ # - Min/Max: 1/2
64
+ # - Description: Code designating the system/method of code structure used for Identification Code (67)
65
+ #
66
+ # @param arg [String]
67
+ # @return [void]
68
+ def N103=(arg)
69
+ @n103.value = arg
70
+ end
71
+ alias IdentificationCodeQualifier= N103=
72
+
73
+ # ### N104
74
+ #
75
+ # - Id: 67
76
+ # - Name: Identification Code
77
+ # - Type: AN
78
+ # - Min/Max: 2/80
79
+ # - Description: Code identifying a party or other code
80
+ #
81
+ # @param arg [String]
82
+ # @return [void]
83
+ def N104=(arg)
84
+ @n104.value = arg
85
+ end
86
+ alias IdentificationCode= N104=
87
+
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,39 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: N3
6
+ # - Name: Address Information
7
+ # - Purpose: To specify the location of the named party
8
+ class N3 < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "N3"
14
+ @name = "Address Information"
15
+ @n301 = Eddy::Elements::E166.new(ref: "N301", req: "M")
16
+ super(
17
+ store,
18
+ @n301,
19
+ )
20
+ end
21
+
22
+ # ### N301
23
+ #
24
+ # - Id: 166
25
+ # - Name: Address Information
26
+ # - Type: AN
27
+ # - Min/Max: 1/55
28
+ # - Description: Address information
29
+ #
30
+ # @param arg [String]
31
+ # @return [void]
32
+ def N301=(arg)
33
+ @n301.value = arg
34
+ end
35
+ alias AddressInformation= N301=
36
+
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,90 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: N4
6
+ # - Name: Geographic Location
7
+ # - Purpose: To specify the geographic place of the named party
8
+ class N4 < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "N4"
14
+ @name = "Geographic Location"
15
+ @n401 = Eddy::Elements::E19.new(ref: "N401", req: "O")
16
+ @n402 = Eddy::Elements::E156.new(ref: "N402", req: "O")
17
+ @n403 = Eddy::Elements::E116.new(ref: "N403", req: "O")
18
+ @n404 = Eddy::Elements::E26.new(ref: "N404", req: "O")
19
+ super(
20
+ store,
21
+ @n401,
22
+ @n402,
23
+ @n403,
24
+ @n404,
25
+ )
26
+ end
27
+
28
+ # ### N401
29
+ #
30
+ # - Id: 19
31
+ # - Name: City Name
32
+ # - Type: AN
33
+ # - Min/Max: 2/30
34
+ # - Description: Free-form text for city name
35
+ #
36
+ # @param arg [String]
37
+ # @return [void]
38
+ def N401=(arg)
39
+ @n401.value = arg
40
+ end
41
+ alias CityName= N401=
42
+
43
+ # ### N402
44
+ #
45
+ # - Id: 156
46
+ # - Name: State or Province Code
47
+ # - Type: ID
48
+ # - Min/Max: 2/2
49
+ # - Description: Code (Standard State/Province) as defined by appropriate government agency
50
+ #
51
+ # @param arg [String]
52
+ # @return [void]
53
+ def N402=(arg)
54
+ @n402.value = arg
55
+ end
56
+ alias StateOrProvinceCode= N402=
57
+
58
+ # ### N403
59
+ #
60
+ # - Id: 116
61
+ # - Name: Postal Code
62
+ # - Type: ID
63
+ # - Min/Max: 3/15
64
+ # - Description: Code defining international postal zone code excluding punctuation and blanks (zip code for United States)
65
+ #
66
+ # @param arg [String]
67
+ # @return [void]
68
+ def N403=(arg)
69
+ @n403.value = arg
70
+ end
71
+ alias PostalCode= N403=
72
+
73
+ # ### N404
74
+ #
75
+ # - Id: 26
76
+ # - Name: Country Code
77
+ # - Type: ID
78
+ # - Min/Max: 2/3
79
+ # - Description: Code identifying the country
80
+ #
81
+ # @param arg [String]
82
+ # @return [void]
83
+ def N404=(arg)
84
+ @n404.value = arg
85
+ end
86
+ alias CountryCode= N404=
87
+
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,107 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: PID
6
+ # - Name: Product/Item Description
7
+ # - Purpose: To describe a product or process in coded or free-form format
8
+ class PID < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "PID"
14
+ @name = "Product/Item Description"
15
+ @pid01 = Eddy::Elements::E349.new(ref: "PID01", req: "M")
16
+ @pid02 = Eddy::Elements::E750.new(ref: "PID02", req: "O")
17
+ @pid03 = Eddy::Elements::E559.new(ref: "PID03", req: "O")
18
+ @pid04 = Eddy::Elements::E751.new(ref: "PID04", req: "O")
19
+ @pid05 = Eddy::Elements::E352.new(ref: "PID05", req: "X")
20
+ super(
21
+ store,
22
+ @pid01,
23
+ @pid02,
24
+ @pid03,
25
+ @pid04,
26
+ @pid05,
27
+ )
28
+ end
29
+
30
+ # ### PID01
31
+ #
32
+ # - Id: 349
33
+ # - Name: Item Description Type
34
+ # - Type: ID
35
+ # - Min/Max: 1/1
36
+ # - Description: Code indicating the format of a description
37
+ #
38
+ # @param arg [String]
39
+ # @return [void]
40
+ def PID01=(arg)
41
+ @pid01.value = arg
42
+ end
43
+ alias ItemDescriptionType= PID01=
44
+
45
+ # ### PID02
46
+ #
47
+ # - Id: 750
48
+ # - Name: Product/Process Characteristic Code
49
+ # - Type: ID
50
+ # - Min/Max: 2/3
51
+ # - Description: Code identifying the general class of a product or process characteristic
52
+ #
53
+ # @param arg [String]
54
+ # @return [void]
55
+ def PID02=(arg)
56
+ @pid02.value = arg
57
+ end
58
+ alias ProductProcessCharacteristicCode= PID02=
59
+
60
+ # ### PID03
61
+ #
62
+ # - Id: 559
63
+ # - Name: Agency Qualifier Code
64
+ # - Type: ID
65
+ # - Min/Max: 2/2
66
+ # - Description: Code identifying the agency assigning the code values
67
+ #
68
+ # @param arg [String]
69
+ # @return [void]
70
+ def PID03=(arg)
71
+ @pid03.value = arg
72
+ end
73
+ alias AgencyQualifierCode= PID03=
74
+
75
+ # ### PID04
76
+ #
77
+ # - Id: 751
78
+ # - Name: Product Description Code
79
+ # - Type: AN
80
+ # - Min/Max: 1/12
81
+ # - Description: A code from an industry code list which provides specific data about a product characteristic
82
+ #
83
+ # @param arg [String]
84
+ # @return [void]
85
+ def PID04=(arg)
86
+ @pid04.value = arg
87
+ end
88
+ alias ProductDescriptionCode= PID04=
89
+
90
+ # ### PID05
91
+ #
92
+ # - Id: 352
93
+ # - Name: Description
94
+ # - Type: AN
95
+ # - Min/Max: 1/80
96
+ # - Description: A free-form description to clarify the related data elements and their content
97
+ #
98
+ # @param arg [String]
99
+ # @return [void]
100
+ def PID05=(arg)
101
+ @pid05.value = arg
102
+ end
103
+ alias Description= PID05=
104
+
105
+ end
106
+ end
107
+ end
@@ -0,0 +1,175 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: PO1
6
+ # - Name: Baseline Item Data
7
+ # - Purpose: To specify basic and most frequently used line item data
8
+ class PO1 < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "PO1"
14
+ @name = "Baseline Item Data"
15
+ @po101 = Eddy::Elements::E350.new(ref: "PO101", req: "O")
16
+ @po102 = Eddy::Elements::E330.new(ref: "PO102", req: "X")
17
+ @po103 = Eddy::Elements::E355.new(ref: "PO103", req: "O")
18
+ @po104 = Eddy::Elements::E212.new(ref: "PO104", req: "X")
19
+ @po105 = Eddy::Elements::E639.new(ref: "PO105", req: "O")
20
+ @po106 = Eddy::Elements::E235.new(ref: "PO106", req: "X")
21
+ @po107 = Eddy::Elements::E234.new(ref: "PO107", req: "X")
22
+ @po108 = Eddy::Elements::E235.new(ref: "PO108", req: "X")
23
+ @po109 = Eddy::Elements::E234.new(ref: "PO109", req: "X")
24
+ super(
25
+ store,
26
+ @po101,
27
+ @po102,
28
+ @po103,
29
+ @po104,
30
+ @po105,
31
+ @po106,
32
+ @po107,
33
+ @po108,
34
+ @po109,
35
+ )
36
+ end
37
+
38
+ # ### PO101
39
+ #
40
+ # - Id: 350
41
+ # - Name: Assigned Identification
42
+ # - Type: AN
43
+ # - Min/Max: 1/20
44
+ # - Description: Alphanumeric characters assigned for differentiation within a transaction set
45
+ #
46
+ # @param arg [String]
47
+ # @return [void]
48
+ def PO101=(arg)
49
+ @po101.value = arg
50
+ end
51
+ alias AssignedIdentification= PO101=
52
+
53
+ # ### PO102
54
+ #
55
+ # - Id: 330
56
+ # - Name: Quantity Ordered
57
+ # - Type: R
58
+ # - Min/Max: 1/15
59
+ # - Description: Quantity ordered
60
+ #
61
+ # @param arg [Float]
62
+ # @return [void]
63
+ def PO102=(arg)
64
+ @po102.value = arg
65
+ end
66
+ alias QuantityOrdered= PO102=
67
+
68
+ # ### PO103
69
+ #
70
+ # - Id: 355
71
+ # - Name: Unit or Basis for Measurement Code
72
+ # - Type: ID
73
+ # - Min/Max: 2/2
74
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
75
+ #
76
+ # @param arg [String]
77
+ # @return [void]
78
+ def PO103=(arg)
79
+ @po103.value = arg
80
+ end
81
+ alias UnitOrBasisForMeasurementCode= PO103=
82
+
83
+ # ### PO104
84
+ #
85
+ # - Id: 212
86
+ # - Name: Unit Price
87
+ # - Type: R
88
+ # - Min/Max: 1/17
89
+ # - Description: Price per unit of product, service, commodity, etc.
90
+ #
91
+ # @param arg [Float]
92
+ # @return [void]
93
+ def PO104=(arg)
94
+ @po104.value = arg
95
+ end
96
+ alias UnitPrice= PO104=
97
+
98
+ # ### PO105
99
+ #
100
+ # - Id: 639
101
+ # - Name: Basis of Unit Price Code
102
+ # - Type: ID
103
+ # - Min/Max: 2/2
104
+ # - Description: Code identifying the type of unit price for an item
105
+ #
106
+ # @param arg [String]
107
+ # @return [void]
108
+ def PO105=(arg)
109
+ @po105.value = arg
110
+ end
111
+ alias BasisOfUnitPriceCode= PO105=
112
+
113
+ # ### PO106
114
+ #
115
+ # - Id: 235
116
+ # - Name: Product/Service ID Qualifier
117
+ # - Type: ID
118
+ # - Min/Max: 2/2
119
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
120
+ #
121
+ # @param arg [String]
122
+ # @return [void]
123
+ def PO106=(arg)
124
+ @po106.value = arg
125
+ end
126
+ alias ProductServiceIdQualifier1= PO106=
127
+
128
+ # ### PO107
129
+ #
130
+ # - Id: 234
131
+ # - Name: Product/Service ID
132
+ # - Type: AN
133
+ # - Min/Max: 1/48
134
+ # - Description: Identifying number for a product or service
135
+ #
136
+ # @param arg [String]
137
+ # @return [void]
138
+ def PO107=(arg)
139
+ @po107.value = arg
140
+ end
141
+ alias ProductServiceId1= PO107=
142
+
143
+ # ### PO108
144
+ #
145
+ # - Id: 235
146
+ # - Name: Product/Service ID Qualifier
147
+ # - Type: ID
148
+ # - Min/Max: 2/2
149
+ # - Description: Code identifying the type/source of the descriptive number used in Product/Service ID (234)
150
+ #
151
+ # @param arg [String]
152
+ # @return [void]
153
+ def PO108=(arg)
154
+ @po108.value = arg
155
+ end
156
+ alias ProductServiceIdQualifier2= PO108=
157
+
158
+ # ### PO109
159
+ #
160
+ # - Id: 234
161
+ # - Name: Product/Service ID
162
+ # - Type: AN
163
+ # - Min/Max: 1/48
164
+ # - Description: Identifying number for a product or service
165
+ #
166
+ # @param arg [String]
167
+ # @return [void]
168
+ def PO109=(arg)
169
+ @po109.value = arg
170
+ end
171
+ alias ProductServiceId2= PO109=
172
+
173
+ end
174
+ end
175
+ end