eddy 0.1.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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,175 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: CAD
6
+ # - Name: Carrier Detail
7
+ # - Purpose: To specify transportation details for the transaction.
8
+ class CAD < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "CAD"
14
+ @name = "Carrier Detail"
15
+ @cad01 = Eddy::Elements::E91.new(ref: "CAD01", req: "O")
16
+ @cad02 = Eddy::Elements::E206.new(ref: "CAD02", req: "O")
17
+ @cad03 = Eddy::Elements::E207.new(ref: "CAD03", req: "O")
18
+ @cad04 = Eddy::Elements::E140.new(ref: "CAD04", req: "X")
19
+ @cad05 = Eddy::Elements::E387.new(ref: "CAD05", req: "X")
20
+ @cad06 = Eddy::Elements::E368.new(ref: "CAD06", req: "O")
21
+ @cad07 = Eddy::Elements::E128.new(ref: "CAD07", req: "O")
22
+ @cad08 = Eddy::Elements::E127.new(ref: "CAD08", req: "X")
23
+ @cad09 = Eddy::Elements::E284.new(ref: "CAD09", req: "O")
24
+ super(
25
+ store,
26
+ @cad01,
27
+ @cad02,
28
+ @cad03,
29
+ @cad04,
30
+ @cad05,
31
+ @cad06,
32
+ @cad07,
33
+ @cad08,
34
+ @cad09,
35
+ )
36
+ end
37
+
38
+ # ### CAD01
39
+ #
40
+ # - Id: 91
41
+ # - Name: Transportation Method/Type Code
42
+ # - Type: ID
43
+ # - Min/Max: 1/2
44
+ # - Description: Code specifying the method or type of transportation for the shipment
45
+ #
46
+ # @param arg [String]
47
+ # @return [void]
48
+ def CAD01=(arg)
49
+ @cad01.value = arg
50
+ end
51
+ alias TransportationMethodTypeCode= CAD01=
52
+
53
+ # ### CAD02
54
+ #
55
+ # - Id: 206
56
+ # - Name: Equipment Initial
57
+ # - Type: AN
58
+ # - Min/Max: 1/4
59
+ # - Description: Prefix or alphabetic part of an equipment unit's identifying number
60
+ #
61
+ # @param arg [String]
62
+ # @return [void]
63
+ def CAD02=(arg)
64
+ @cad02.value = arg
65
+ end
66
+ alias EquipmentInitial= CAD02=
67
+
68
+ # ### CAD03
69
+ #
70
+ # - Id: 207
71
+ # - Name: Equipment Number
72
+ # - Type: AN
73
+ # - Min/Max: 1/10
74
+ # - Description: Sequencing or serial part of an equipment unit's identifying number (pure numeric form for equipment number is preferred)
75
+ #
76
+ # @param arg [String]
77
+ # @return [void]
78
+ def CAD03=(arg)
79
+ @cad03.value = arg
80
+ end
81
+ alias EquipmentNumber= CAD03=
82
+
83
+ # ### CAD04
84
+ #
85
+ # - Id: 140
86
+ # - Name: Standard Carrier Alpha Code
87
+ # - Type: ID
88
+ # - Min/Max: 2/4
89
+ # - Description: Standard Carrier Alpha Code
90
+ #
91
+ # @param arg [String]
92
+ # @return [void]
93
+ def CAD04=(arg)
94
+ @cad04.value = arg
95
+ end
96
+ alias StandardCarrierAlphaCode= CAD04=
97
+
98
+ # ### CAD05
99
+ #
100
+ # - Id: 387
101
+ # - Name: Routing
102
+ # - Type: AN
103
+ # - Min/Max: 1/35
104
+ # - Description: Free-form description of the routing or requested routing for shipment, or the originating carrier's identity
105
+ #
106
+ # @param arg [String]
107
+ # @return [void]
108
+ def CAD05=(arg)
109
+ @cad05.value = arg
110
+ end
111
+ alias Routing= CAD05=
112
+
113
+ # ### CAD06
114
+ #
115
+ # - Id: 368
116
+ # - Name: Shipment/Order Status Code
117
+ # - Type: ID
118
+ # - Min/Max: 2/2
119
+ # - Description: Code indicating the status of an order or shipment or the disposition of any difference between the quantity ordered and the quantity shipped for a line item or transaction
120
+ #
121
+ # @param arg [String]
122
+ # @return [void]
123
+ def CAD06=(arg)
124
+ @cad06.value = arg
125
+ end
126
+ alias ShipmentOrderStatusCode= CAD06=
127
+
128
+ # ### CAD07
129
+ #
130
+ # - Id: 128
131
+ # - Name: Reference Identification Qualifier
132
+ # - Type: ID
133
+ # - Min/Max: 2/3
134
+ # - Description: Code qualifying the Reference Identification
135
+ #
136
+ # @param arg [String]
137
+ # @return [void]
138
+ def CAD07=(arg)
139
+ @cad07.value = arg
140
+ end
141
+ alias ReferenceIdentificationQualifier= CAD07=
142
+
143
+ # ### CAD08
144
+ #
145
+ # - Id: 127
146
+ # - Name: Reference Identification
147
+ # - Type: AN
148
+ # - Min/Max: 1/30
149
+ # - Description: Reference information as defined for a particular Transaction Set or as specified by the Reference Identification Qualifier
150
+ #
151
+ # @param arg [String]
152
+ # @return [void]
153
+ def CAD08=(arg)
154
+ @cad08.value = arg
155
+ end
156
+ alias ReferenceIdentification= CAD08=
157
+
158
+ # ### CAD09
159
+ #
160
+ # - Id: 284
161
+ # - Name: Service Level Code
162
+ # - Type: ID
163
+ # - Min/Max: 2/2
164
+ # - Description: Code indicating the level of transportation service or the billing service offered by the transportation carrier
165
+ #
166
+ # @param arg [String]
167
+ # @return [void]
168
+ def CAD09=(arg)
169
+ @cad09.value = arg
170
+ end
171
+ alias ServiceLevelCode= CAD09=
172
+
173
+ end
174
+ end
175
+ end
@@ -0,0 +1,158 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: CTP
6
+ # - Name: Pricing Information
7
+ # - Purpose: To specify pricing information.
8
+ class CTP < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "CTP"
14
+ @name = "Pricing Information"
15
+ @ctp01 = Eddy::Elements::E687.new(ref: "CTP01", req: "O")
16
+ @ctp02 = Eddy::Elements::E236.new(ref: "CTP02", req: "X")
17
+ @ctp03 = Eddy::Elements::E212.new(ref: "CTP03", req: "X")
18
+ @ctp04 = Eddy::Elements::E380.new(ref: "CTP04", req: "X")
19
+ @ctp05 = Eddy::Elements::E355.new(ref: "CTP05", req: "X")
20
+ @ctp06 = Eddy::Elements::E648.new(ref: "CTP06", req: "O")
21
+ @ctp07 = Eddy::Elements::E649.new(ref: "CTP07", req: "X")
22
+ @ctp08 = Eddy::Elements::E782.new(ref: "CTP08", req: "O")
23
+ super(
24
+ store,
25
+ @ctp01,
26
+ @ctp02,
27
+ @ctp03,
28
+ @ctp04,
29
+ @ctp05,
30
+ @ctp06,
31
+ @ctp07,
32
+ @ctp08,
33
+ )
34
+ end
35
+
36
+ # ### CTP01
37
+ #
38
+ # - Id: 687
39
+ # - Name: Class of Trade Code
40
+ # - Type: ID
41
+ # - Min/Max: 2/2
42
+ # - Description: Code indicating class of trade
43
+ #
44
+ # @param arg [String]
45
+ # @return [void]
46
+ def CTP01=(arg)
47
+ @ctp01.value = arg
48
+ end
49
+ alias ClassOfTradeCode= CTP01=
50
+
51
+ # ### CTP02
52
+ #
53
+ # - Id: 236
54
+ # - Name: Price Identifier Code
55
+ # - Type: ID
56
+ # - Min/Max: 3/3
57
+ # - Description: Code identifying pricing specification
58
+ #
59
+ # @param arg [String]
60
+ # @return [void]
61
+ def CTP02=(arg)
62
+ @ctp02.value = arg
63
+ end
64
+ alias PriceIdentifierCode= CTP02=
65
+
66
+ # ### CTP03
67
+ #
68
+ # - Id: 212
69
+ # - Name: Unit Price
70
+ # - Type: R
71
+ # - Min/Max: 1/17
72
+ # - Description: Price per unit of product, service, commodity, etc.
73
+ #
74
+ # @param arg [Float]
75
+ # @return [void]
76
+ def CTP03=(arg)
77
+ @ctp03.value = arg
78
+ end
79
+ alias UnitPrice= CTP03=
80
+
81
+ # ### CTP04
82
+ #
83
+ # - Id: 380
84
+ # - Name: Quantity
85
+ # - Type: R
86
+ # - Min/Max: 1/15
87
+ # - Description: Numeric value of quantity
88
+ #
89
+ # @param arg [Float]
90
+ # @return [void]
91
+ def CTP04=(arg)
92
+ @ctp04.value = arg
93
+ end
94
+ alias Quantity= CTP04=
95
+
96
+ # ### CTP05
97
+ #
98
+ # - Id: 355
99
+ # - Name: Unit or Basis for Measurement Code
100
+ # - Type: ID
101
+ # - Min/Max: 2/2
102
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
103
+ #
104
+ # @param arg [String]
105
+ # @return [void]
106
+ def CTP05=(arg)
107
+ @ctp05.value = arg
108
+ end
109
+ alias UnitOrBasisForMeasurementCode= CTP05=
110
+
111
+ # ### CTP06
112
+ #
113
+ # - Id: 648
114
+ # - Name: Price Multiplier Qualifier
115
+ # - Type: ID
116
+ # - Min/Max: 3/3
117
+ # - Description: Code indicating the type of price multiplier
118
+ #
119
+ # @param arg [String]
120
+ # @return [void]
121
+ def CTP06=(arg)
122
+ @ctp06.value = arg
123
+ end
124
+ alias PriceMultiplierQualifier= CTP06=
125
+
126
+ # ### CTP07
127
+ #
128
+ # - Id: 649
129
+ # - Name: Multiplier
130
+ # - Type: R
131
+ # - Min/Max: 1/10
132
+ # - Description: Value to be used as a multiplier to obtain a new value
133
+ #
134
+ # @param arg [Float]
135
+ # @return [void]
136
+ def CTP07=(arg)
137
+ @ctp07.value = arg
138
+ end
139
+ alias Multiplier= CTP07=
140
+
141
+ # ### CTP08
142
+ #
143
+ # - Id: 782
144
+ # - Name: Monetary Amount
145
+ # - Type: R
146
+ # - Min/Max: 1/18
147
+ # - Description: Monetary amount
148
+ #
149
+ # @param arg [Float]
150
+ # @return [void]
151
+ def CTP08=(arg)
152
+ @ctp08.value = arg
153
+ end
154
+ alias MonetaryAmount= CTP08=
155
+
156
+ end
157
+ end
158
+ end
@@ -0,0 +1,141 @@
1
+ module Eddy
2
+ module Segments
3
+ # ### Segment Summary:
4
+ #
5
+ # - Id: CTT
6
+ # - Name: Transaction Totals
7
+ # - Purpose: To transmit a hash total for a specific element in the transaction set
8
+ class CTT < Eddy::Segment
9
+
10
+ # @param store [Eddy::Data::Store]
11
+ # @return [void]
12
+ def initialize(store)
13
+ @id = "CTT"
14
+ @name = "Transaction Totals"
15
+ @ctt01 = Eddy::Elements::E354.new(ref: "CTT01", req: "M")
16
+ @ctt02 = Eddy::Elements::E347.new(ref: "CTT02", req: "O")
17
+ @ctt03 = Eddy::Elements::E81.new(ref: "CTT03", req: "X")
18
+ @ctt04 = Eddy::Elements::E355.new(ref: "CTT04", req: "X")
19
+ @ctt05 = Eddy::Elements::E183.new(ref: "CTT05", req: "X")
20
+ @ctt06 = Eddy::Elements::E355.new(ref: "CTT06", req: "X")
21
+ @ctt07 = Eddy::Elements::E352.new(ref: "CTT07", req: "O")
22
+ super(
23
+ store,
24
+ @ctt01,
25
+ @ctt02,
26
+ @ctt03,
27
+ @ctt04,
28
+ @ctt05,
29
+ @ctt06,
30
+ @ctt07,
31
+ )
32
+ end
33
+
34
+ # ### CTT01
35
+ #
36
+ # - Id: 354
37
+ # - Name: Number of Line Items
38
+ # - Type: N0
39
+ # - Min/Max: 1/6
40
+ # - Description: Total number of line items in the transaction set
41
+ #
42
+ # @param arg [Integer]
43
+ # @return [void]
44
+ def CTT01=(arg)
45
+ @ctt01.value = arg
46
+ end
47
+ alias NumberOfLineItems= CTT01=
48
+
49
+ # ### CTT02
50
+ #
51
+ # - Id: 347
52
+ # - Name: Hash Total
53
+ # - Type: R
54
+ # - Min/Max: 1/10
55
+ # - Description: Sum of values of the specified data element. All values in the data element will be summed without regard to decimal points (explicit or implicit) or signs. Truncation will occur on the left most digits if the sum is greater than the maximum size of the hash total of the data element.
56
+ #
57
+ # @param arg [Float]
58
+ # @return [void]
59
+ def CTT02=(arg)
60
+ @ctt02.value = arg
61
+ end
62
+ alias HashTotal= CTT02=
63
+
64
+ # ### CTT03
65
+ #
66
+ # - Id: 81
67
+ # - Name: Weight
68
+ # - Type: R
69
+ # - Min/Max: 1/10
70
+ # - Description: Numeric value of weight
71
+ #
72
+ # @param arg [Float]
73
+ # @return [void]
74
+ def CTT03=(arg)
75
+ @ctt03.value = arg
76
+ end
77
+ alias Weight= CTT03=
78
+
79
+ # ### CTT04
80
+ #
81
+ # - Id: 355
82
+ # - Name: Unit or Basis for Measurement Code
83
+ # - Type: ID
84
+ # - Min/Max: 2/2
85
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
86
+ #
87
+ # @param arg [String]
88
+ # @return [void]
89
+ def CTT04=(arg)
90
+ @ctt04.value = arg
91
+ end
92
+ alias UnitOrBasisForMeasurementCode1= CTT04=
93
+
94
+ # ### CTT05
95
+ #
96
+ # - Id: 183
97
+ # - Name: Volume
98
+ # - Type: R
99
+ # - Min/Max: 1/8
100
+ # - Description: Value of volumetric measure
101
+ #
102
+ # @param arg [Float]
103
+ # @return [void]
104
+ def CTT05=(arg)
105
+ @ctt05.value = arg
106
+ end
107
+ alias Volume= CTT05=
108
+
109
+ # ### CTT06
110
+ #
111
+ # - Id: 355
112
+ # - Name: Unit or Basis for Measurement Code
113
+ # - Type: ID
114
+ # - Min/Max: 2/2
115
+ # - Description: Code specifying the units in which a value is being expressed, or manner in which a measurement has been taken
116
+ #
117
+ # @param arg [String]
118
+ # @return [void]
119
+ def CTT06=(arg)
120
+ @ctt06.value = arg
121
+ end
122
+ alias UnitOrBasisForMeasurementCode2= CTT06=
123
+
124
+ # ### CTT07
125
+ #
126
+ # - Id: 352
127
+ # - Name: Description
128
+ # - Type: AN
129
+ # - Min/Max: 1/80
130
+ # - Description: A free-form description to clarify the related data elements and their content
131
+ #
132
+ # @param arg [String]
133
+ # @return [void]
134
+ def CTT07=(arg)
135
+ @ctt07.value = arg
136
+ end
137
+ alias Description= CTT07=
138
+
139
+ end
140
+ end
141
+ end