eddy 0.5.1 → 0.6.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 (211) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +3 -0
  3. data/CHANGELOG.md +23 -4
  4. data/Gemfile.lock +1 -1
  5. data/README.md +1 -1
  6. data/lib/definitions/elements/generated/1005.hierarchical_structure_code.rb +1 -1
  7. data/lib/definitions/elements/generated/1019.invoice_type_code.rb +1 -1
  8. data/lib/definitions/elements/generated/103.packaging_code.rb +1 -1
  9. data/lib/definitions/elements/generated/1166.contract_type_code.rb +1 -1
  10. data/lib/definitions/elements/generated/1232.purchase_category.rb +1 -1
  11. data/lib/definitions/elements/generated/127.reference_identification.rb +1 -1
  12. data/lib/definitions/elements/generated/128.reference_identification_qualifier.rb +1 -1
  13. data/lib/definitions/elements/generated/1300.service_promotion_allowance_or_charge_code.rb +1 -1
  14. data/lib/definitions/elements/generated/1301.agency_service_promotion_allowance_or_charge_code.rb +1 -1
  15. data/lib/definitions/elements/generated/133.routing_sequence_code.rb +1 -1
  16. data/lib/definitions/elements/generated/166.address_information.rb +1 -1
  17. data/lib/definitions/elements/generated/183.volume.rb +1 -1
  18. data/lib/definitions/elements/generated/187.weight_qualifier.rb +1 -1
  19. data/lib/definitions/elements/generated/19.city_name.rb +1 -1
  20. data/lib/definitions/elements/generated/206.equipment_initial.rb +1 -1
  21. data/lib/definitions/elements/generated/207.equipment_number.rb +1 -1
  22. data/lib/definitions/elements/generated/212.unit_price.rb +1 -1
  23. data/lib/definitions/elements/generated/22.commodity_code.rb +1 -1
  24. data/lib/definitions/elements/generated/23.commodity_code_qualifier.rb +1 -1
  25. data/lib/definitions/elements/generated/234.product_service_id.rb +1 -1
  26. data/lib/definitions/elements/generated/235.product_service_id_qualifier.rb +1 -1
  27. data/lib/definitions/elements/generated/236.price_identifier_code.rb +1 -1
  28. data/lib/definitions/elements/generated/248.allowance_or_charge_indicator.rb +1 -1
  29. data/lib/definitions/elements/generated/26.country_code.rb +1 -1
  30. data/lib/definitions/elements/generated/284.service_level_code.rb +1 -1
  31. data/lib/definitions/elements/generated/324.purchase_order_number.rb +1 -1
  32. data/lib/definitions/elements/generated/326.request_reference_number.rb +1 -1
  33. data/lib/definitions/elements/generated/327.change_order_sequence_number.rb +1 -1
  34. data/lib/definitions/elements/generated/328.release_number.rb +1 -1
  35. data/lib/definitions/elements/generated/330.quantity_ordered.rb +1 -1
  36. data/lib/definitions/elements/generated/347.hash_total.rb +1 -1
  37. data/lib/definitions/elements/generated/349.item_description_type.rb +1 -1
  38. data/lib/definitions/elements/generated/352.description.rb +1 -1
  39. data/lib/definitions/elements/generated/353.transaction_set_purpose_code.rb +1 -1
  40. data/lib/definitions/elements/generated/354.number_of_line_items.rb +1 -1
  41. data/lib/definitions/elements/generated/355.unit_or_basis_for_measurement_code.rb +1 -1
  42. data/lib/definitions/elements/generated/358.quantity_invoiced.rb +1 -1
  43. data/lib/definitions/elements/generated/367.contract_number.rb +1 -1
  44. data/lib/definitions/elements/generated/368.shipment_order_status_code.rb +1 -1
  45. data/lib/definitions/elements/generated/374.date_time_qualifier.rb +1 -1
  46. data/lib/definitions/elements/generated/380.quantity.rb +1 -1
  47. data/lib/definitions/elements/generated/382.number_of_units_shipped.rb +1 -1
  48. data/lib/definitions/elements/generated/387.routing.rb +1 -1
  49. data/lib/definitions/elements/generated/396.shipment_identification.rb +1 -1
  50. data/lib/definitions/elements/generated/559.agency_qualifier_code.rb +1 -1
  51. data/lib/definitions/elements/generated/587.acknowledgment_type.rb +1 -1
  52. data/lib/definitions/elements/generated/610.amount.rb +1 -1
  53. data/lib/definitions/elements/generated/639.basis_of_unit_price_code.rb +1 -1
  54. data/lib/definitions/elements/generated/640.transaction_type_code.rb +1 -1
  55. data/lib/definitions/elements/generated/646.quantity_shipped_to_date.rb +1 -1
  56. data/lib/definitions/elements/generated/648.price_multiplier_qualifier.rb +1 -1
  57. data/lib/definitions/elements/generated/649.multiplier.rb +1 -1
  58. data/lib/definitions/elements/generated/66.identification_code_qualifier.rb +1 -1
  59. data/lib/definitions/elements/generated/662.relationship_code.rb +1 -1
  60. data/lib/definitions/elements/generated/668.line_item_status_code.rb +1 -1
  61. data/lib/definitions/elements/generated/67.identification_code.rb +1 -1
  62. data/lib/definitions/elements/generated/687.class_of_trade_code.rb +1 -1
  63. data/lib/definitions/elements/generated/750.product_process_characteristic_code.rb +1 -1
  64. data/lib/definitions/elements/generated/751.product_description_code.rb +1 -1
  65. data/lib/definitions/elements/generated/76.invoice_number.rb +1 -1
  66. data/lib/definitions/elements/generated/782.monetary_amount.rb +1 -1
  67. data/lib/definitions/elements/generated/786.security_level_code.rb +1 -1
  68. data/lib/definitions/elements/generated/79.lading_description.rb +1 -1
  69. data/lib/definitions/elements/generated/80.lading_quantity.rb +1 -1
  70. data/lib/definitions/elements/generated/87.marks_and_numbers.rb +1 -1
  71. data/lib/definitions/elements/generated/88.marks_and_numbers_qualifier.rb +1 -1
  72. data/lib/definitions/elements/generated/91.transportation_method_type_code.rb +1 -1
  73. data/lib/definitions/elements/generated/92.purchase_order_type_code.rb +1 -1
  74. data/lib/definitions/elements/generated/98.entity_identifier_code.rb +1 -1
  75. data/lib/definitions/elements/manual/116.postal_code.rb +1 -1
  76. data/lib/definitions/elements/manual/124.application_receivers_code.rb +1 -1
  77. data/lib/definitions/elements/manual/140.standard_carrier_alpha_code.rb +1 -1
  78. data/lib/definitions/elements/manual/142.application_senders_code.rb +1 -1
  79. data/lib/definitions/elements/manual/143.transaction_set_identifier_code.rb +1 -1
  80. data/lib/definitions/elements/manual/156.state_or_province_code.rb +1 -1
  81. data/lib/definitions/elements/manual/28.group_control_number.rb +1 -1
  82. data/lib/definitions/elements/manual/329.transactional_set_control_number.rb +2 -2
  83. data/lib/definitions/elements/manual/337.time.rb +1 -1
  84. data/lib/definitions/elements/manual/350.assigned_identification.rb +1 -1
  85. data/lib/definitions/elements/manual/373.date.rb +1 -1
  86. data/lib/definitions/elements/manual/455.responsible_agency_code.rb +1 -1
  87. data/lib/definitions/elements/manual/479.functional_identifier_code.rb +1 -1
  88. data/lib/definitions/elements/manual/480.version_release_industry_identifier_code.rb +1 -1
  89. data/lib/definitions/elements/manual/784.length_of_binary_data.rb +1 -1
  90. data/lib/definitions/elements/manual/785.binary_data.rb +1 -1
  91. data/lib/definitions/elements/manual/96.number_of_included_segments.rb +1 -1
  92. data/lib/definitions/elements/manual/97.number_of_transaction_sets_included.rb +1 -1
  93. data/lib/definitions/elements/manual/hl/628.hierarchical_id_number.rb +1 -1
  94. data/lib/definitions/elements/manual/hl/734.hierarchical_parent_id_number.rb +1 -1
  95. data/lib/definitions/elements/manual/hl/735.hierarchical_level_code.rb +1 -1
  96. data/lib/definitions/elements/manual/hl/736.hierarchical_child_code.rb +1 -1
  97. data/lib/definitions/elements/manual/i/I01.authorization_information_qualifier.rb +1 -1
  98. data/lib/definitions/elements/manual/i/I02.authorization_information.rb +1 -1
  99. data/lib/definitions/elements/manual/i/I03.security_information_qualifier.rb +1 -1
  100. data/lib/definitions/elements/manual/i/I04.security_information.rb +1 -1
  101. data/lib/definitions/elements/manual/i/I05.interchange_id_qualifier.rb +1 -1
  102. data/lib/definitions/elements/manual/i/I06.interchange_sender_id.rb +1 -1
  103. data/lib/definitions/elements/manual/i/I07.interchange_receiver_id.rb +1 -1
  104. data/lib/definitions/elements/manual/i/I08.interchange_date.rb +1 -1
  105. data/lib/definitions/elements/manual/i/I09.interchange_time.rb +1 -1
  106. data/lib/definitions/elements/manual/i/I10.interchange_control_standards_identifier.rb +1 -1
  107. data/lib/definitions/elements/manual/i/I11.interchange_control_version_number.rb +1 -1
  108. data/lib/definitions/elements/manual/i/I12.interchange_control_number.rb +1 -1
  109. data/lib/definitions/elements/manual/i/I13.acknowledgment_requested.rb +1 -1
  110. data/lib/definitions/elements/manual/i/I14.usage_indicator.rb +1 -1
  111. data/lib/definitions/elements/manual/i/I15.component_element_separator.rb +1 -1
  112. data/lib/definitions/elements/manual/i/I16.number_of_included_functional_groups.rb +1 -1
  113. data/lib/definitions/elements/manual/misc/81.weight.rb +1 -1
  114. data/lib/definitions/elements/manual/misc/93.name.rb +1 -1
  115. data/lib/definitions/segments/generated/ack.rb +1 -1
  116. data/lib/definitions/segments/generated/bak.rb +1 -1
  117. data/lib/definitions/segments/generated/beg.rb +1 -1
  118. data/lib/definitions/segments/generated/big.rb +1 -1
  119. data/lib/definitions/segments/generated/bsn.rb +1 -1
  120. data/lib/definitions/segments/generated/cad.rb +1 -1
  121. data/lib/definitions/segments/generated/ctp.rb +1 -1
  122. data/lib/definitions/segments/generated/ctt.rb +1 -1
  123. data/lib/definitions/segments/generated/dtm.rb +1 -1
  124. data/lib/definitions/segments/generated/it1.rb +1 -1
  125. data/lib/definitions/segments/generated/lin.rb +1 -1
  126. data/lib/definitions/segments/generated/man.rb +1 -1
  127. data/lib/definitions/segments/generated/n1.rb +1 -1
  128. data/lib/definitions/segments/generated/n3.rb +1 -1
  129. data/lib/definitions/segments/generated/n4.rb +1 -1
  130. data/lib/definitions/segments/generated/pid.rb +1 -1
  131. data/lib/definitions/segments/generated/po1.rb +1 -1
  132. data/lib/definitions/segments/generated/prf.rb +1 -1
  133. data/lib/definitions/segments/generated/ref.rb +1 -1
  134. data/lib/definitions/segments/generated/sac.rb +1 -1
  135. data/lib/definitions/segments/generated/sln.rb +1 -1
  136. data/lib/definitions/segments/generated/sn1.rb +1 -1
  137. data/lib/definitions/segments/generated/td1.rb +1 -1
  138. data/lib/definitions/segments/generated/td5.rb +1 -1
  139. data/lib/definitions/segments/generated/tds.rb +1 -1
  140. data/lib/definitions/segments/manual/envelopes/ge.rb +1 -1
  141. data/lib/definitions/segments/manual/envelopes/gs.rb +1 -1
  142. data/lib/definitions/segments/manual/envelopes/iea.rb +1 -1
  143. data/lib/definitions/segments/manual/envelopes/isa.rb +1 -1
  144. data/lib/definitions/segments/manual/envelopes/se.rb +1 -1
  145. data/lib/definitions/segments/manual/envelopes/st.rb +1 -1
  146. data/lib/definitions/segments/manual/hl.rb +1 -1
  147. data/lib/definitions/segments/manual/n2.rb +1 -1
  148. data/lib/definitions/transaction_sets/manual/810/810.rb +19 -24
  149. data/lib/definitions/transaction_sets/manual/810/loops/it1.rb +92 -0
  150. data/lib/definitions/transaction_sets/manual/810/loops/n1.rb +72 -0
  151. data/lib/definitions/transaction_sets/manual/810/loops/pid.rb +45 -0
  152. data/lib/definitions/transaction_sets/manual/810/loops/sac.rb +45 -0
  153. data/lib/definitions/transaction_sets/manual/850/850.rb +12 -14
  154. data/lib/definitions/transaction_sets/manual/850/loops/n1.rb +74 -0
  155. data/lib/definitions/transaction_sets/manual/850/loops/po1.rb +51 -0
  156. data/lib/definitions/transaction_sets/manual/855/855.rb +11 -15
  157. data/lib/definitions/transaction_sets/manual/855/loops/ack.rb +45 -0
  158. data/lib/definitions/transaction_sets/manual/855/loops/n1.rb +72 -0
  159. data/lib/definitions/transaction_sets/manual/855/loops/pid.rb +45 -0
  160. data/lib/definitions/transaction_sets/manual/855/loops/po1.rb +80 -0
  161. data/lib/definitions/transaction_sets/manual/856/856.rb +8 -16
  162. data/lib/definitions/transaction_sets/manual/856/loops/hl_item.rb +87 -0
  163. data/lib/definitions/transaction_sets/manual/856/loops/hl_order.rb +59 -0
  164. data/lib/definitions/transaction_sets/manual/856/loops/hl_shipment.rb +159 -0
  165. data/lib/definitions/transaction_sets/manual/856/loops/hl_tare.rb +59 -0
  166. data/lib/definitions/transaction_sets/manual/856/loops/n1.rb +71 -0
  167. data/lib/definitions/transaction_sets/manual/856/loops/sln.rb +44 -0
  168. data/lib/eddy/build/elements/element.rb +5 -5
  169. data/lib/eddy/build/elements/elements.rb +3 -3
  170. data/lib/eddy/build/elements/id.rb +1 -1
  171. data/lib/eddy/build/elements/n.rb +1 -1
  172. data/lib/eddy/build/loop/base.rb +49 -0
  173. data/lib/eddy/build/loop/render.rb +18 -0
  174. data/lib/eddy/build/loop/repeat.rb +86 -0
  175. data/lib/eddy/build/segment_builder.rb +14 -9
  176. data/lib/eddy/build/transaction_set_builder.rb +60 -93
  177. data/lib/eddy/build.rb +3 -1
  178. data/lib/eddy/errors.rb +16 -15
  179. data/lib/eddy/models/element/an.rb +45 -43
  180. data/lib/eddy/models/element/b.rb +45 -43
  181. data/lib/eddy/models/element/base.rb +102 -100
  182. data/lib/eddy/models/element/composite.rb +5 -3
  183. data/lib/eddy/models/element/dt.rb +82 -80
  184. data/lib/eddy/models/element/id.rb +47 -45
  185. data/lib/eddy/models/element/n.rb +79 -77
  186. data/lib/eddy/models/element/r.rb +70 -68
  187. data/lib/eddy/models/element/tm.rb +95 -93
  188. data/lib/eddy/models/element.rb +4 -2
  189. data/lib/eddy/models/functional_group.rb +29 -27
  190. data/lib/eddy/models/interchange.rb +49 -47
  191. data/lib/eddy/models/loop/base.rb +62 -63
  192. data/lib/eddy/models/loop/repeat.rb +43 -31
  193. data/lib/eddy/models/segment.rb +30 -28
  194. data/lib/eddy/models/transaction_set.rb +82 -80
  195. data/lib/eddy/models.rb +1 -1
  196. data/lib/eddy/{schema/element_summary.rb → summary/element.rb} +3 -3
  197. data/lib/eddy/{schema/loop_summary.rb → summary/loop.rb} +53 -16
  198. data/lib/eddy/{schema/segment_summary.rb → summary/segment.rb} +14 -6
  199. data/lib/eddy/{schema/transaction_set_summary.rb → summary/transaction_set.rb} +14 -13
  200. data/lib/eddy/{schema → summary}/validate.rb +1 -1
  201. data/lib/eddy/summary.rb +10 -0
  202. data/lib/eddy/util.rb +5 -5
  203. data/lib/eddy/version.rb +1 -1
  204. data/lib/eddy.rb +1 -7
  205. data/todo.txt +3 -5
  206. metadata +28 -13
  207. data/lib/definitions/transaction_sets/manual/810/loops.rb +0 -109
  208. data/lib/definitions/transaction_sets/manual/850/loops.rb +0 -58
  209. data/lib/definitions/transaction_sets/manual/855/loops.rb +0 -104
  210. data/lib/definitions/transaction_sets/manual/856/loops.rb +0 -155
  211. data/lib/eddy/build/loop_builder.rb +0 -93
@@ -7,7 +7,7 @@ module Eddy
7
7
  # - Id: 850
8
8
  # - Name: Purchase Order
9
9
  # - Functional Group: PO
10
- class TS850 < Eddy::TransactionSet
10
+ class TS < Eddy::Models::TransactionSet
11
11
 
12
12
  ID = "850".freeze
13
13
  NAME = "Purchase Order".freeze
@@ -18,8 +18,8 @@ module Eddy
18
18
  def initialize(store)
19
19
  @beg = Eddy::Segments::BEG.new(store)
20
20
  @td5 = Eddy::Segments::TD5.new(store)
21
- @l_n1 = Eddy::TransactionSets::TS850::Loops::N1.new(store)
22
- @l_po1 = Eddy::TransactionSets::TS850::Loops::PO1.new(store)
21
+ @l_n1 = Eddy::TransactionSets::TS850::Loops::N1::Base.new(store)
22
+ @l_po1 = Eddy::TransactionSets::TS850::Loops::PO1::Base.new(store)
23
23
  @ctt = Eddy::Segments::CTT.new(store)
24
24
  super(
25
25
  store,
@@ -33,7 +33,7 @@ module Eddy
33
33
 
34
34
  # (see Eddy::Segments::BEG)
35
35
  #
36
- # @yieldparam [Eddy::Segments::BEG] beg
36
+ # @yieldparam [Eddy::Segments::BEG]
37
37
  # @return [Eddy::Segments::BEG]
38
38
  def BEG()
39
39
  yield(@beg) if block_given?
@@ -42,35 +42,33 @@ module Eddy
42
42
 
43
43
  # (see Eddy::Segments::TD5)
44
44
  #
45
- # @yieldparam [Eddy::Segments::TD5] td5
45
+ # @yieldparam [Eddy::Segments::TD5]
46
46
  # @return [Eddy::Segments::TD5]
47
47
  def TD5()
48
48
  yield(@td5) if block_given?
49
49
  return @td5
50
50
  end
51
51
 
52
- # (see Eddy::TransactionSets::TS850::Loops::N1)
52
+ # (see Eddy::TransactionSets::TS850::Loops::N1::Base)
53
53
  #
54
- # @yieldparam [Eddy::Segments::N1] n1
55
- # @yieldparam [Eddy::Segments::N3] n3
56
- # @yieldparam [Eddy::Segments::N4] n4
54
+ # @yieldparam [Eddy::TransactionSets::TS850::Loops::N1::Repeat]
57
55
  # @return [void]
58
56
  def L_N1(&block)
59
57
  if block_given?
60
- @l_n1.add_iteration(&block)
58
+ @l_n1.repeat(&block)
61
59
  else
62
60
  raise Eddy::Errors::Error, "No block given in loop iteration"
63
61
  end
64
62
  return nil
65
63
  end
66
64
 
67
- # (see Eddy::TransactionSets::TS850::Loops::PO1)
65
+ # (see Eddy::TransactionSets::TS850::Loops::PO1::Base)
68
66
  #
69
- # @yieldparam [Eddy::Segments::PO1] po1
67
+ # @yieldparam [Eddy::TransactionSets::TS850::Loops::PO1::Repeat]
70
68
  # @return [void]
71
69
  def L_PO1(&block)
72
70
  if block_given?
73
- @l_po1.add_iteration(&block)
71
+ @l_po1.repeat(&block)
74
72
  else
75
73
  raise Eddy::Errors::Error, "No block given in loop iteration"
76
74
  end
@@ -79,7 +77,7 @@ module Eddy
79
77
 
80
78
  # (see Eddy::Segments::CTT)
81
79
  #
82
- # @yieldparam [Eddy::Segments::CTT] ctt
80
+ # @yieldparam [Eddy::Segments::CTT]
83
81
  # @return [Eddy::Segments::CTT]
84
82
  def CTT()
85
83
  yield(@ctt) if block_given?
@@ -0,0 +1,74 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 850 and its loops.
4
+ module TS850
5
+ module Loops
6
+ module N1
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 200
11
+ # - Components:
12
+ # - N1
13
+ # - N3
14
+ # - N4
15
+ class Base < Eddy::Models::Loop::Base
16
+ # @param store [Eddy::Data::Store]
17
+ # @return [void]
18
+ def initialize(store)
19
+ super(store, Repeat)
20
+ @repeat_limit = 200
21
+ end
22
+
23
+ # @yieldparam [Eddy::TransactionSets::TS850::Loops::N1::Repeat]
24
+ # @return [void]
25
+ def repeat(&block)
26
+ super(&block)
27
+ end
28
+ end
29
+
30
+ # (see Eddy::TransactionSets::TS850::Loops::N1::Base)
31
+ class Repeat < Eddy::Models::Loop::Repeat
32
+
33
+ # @param store [Eddy::Data::Store]
34
+ # @return [void]
35
+ def initialize(store)
36
+ @n1 = Eddy::Segments::N1.new(store)
37
+ @n3 = Eddy::Segments::N3.new(store)
38
+ @n4 = Eddy::Segments::N4.new(store)
39
+ super(store, @n1, @n3, @n4)
40
+ end
41
+
42
+ # (see Eddy::Segments::N1)
43
+ #
44
+ # @yieldparam [Eddy::Segments::N1]
45
+ # @return [Eddy::Segments::N1]
46
+ def N1()
47
+ yield(@n1) if block_given?
48
+ return @n1
49
+ end
50
+
51
+ # (see Eddy::Segments::N3)
52
+ #
53
+ # @yieldparam [Eddy::Segments::N3]
54
+ # @return [Eddy::Segments::N3]
55
+ def N3()
56
+ yield(@n3) if block_given?
57
+ return @n3
58
+ end
59
+
60
+ # (see Eddy::Segments::N4)
61
+ #
62
+ # @yieldparam [Eddy::Segments::N4]
63
+ # @return [Eddy::Segments::N4]
64
+ def N4()
65
+ yield(@n4) if block_given?
66
+ return @n4
67
+ end
68
+ end
69
+
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,51 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 850 and its loops.
4
+ module TS850
5
+ module Loops
6
+ module PO1
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 100,000
11
+ # - Components:
12
+ # - PO1
13
+ class Base < Eddy::Models::Loop::Base
14
+ # @param store [Eddy::Data::Store]
15
+ # @return [void]
16
+ def initialize(store)
17
+ @repeat_limit = 100_000
18
+ super(store, Repeat)
19
+ end
20
+
21
+ # @yieldparam [Eddy::TransactionSets::TS850::Loops::PO1::Repeat]
22
+ # @return [void]
23
+ def repeat(&block)
24
+ super(&block)
25
+ end
26
+ end
27
+
28
+ # (see Eddy::TransactionSets::TS850::Loops::PO1::Base)
29
+ class Repeat < Eddy::Models::Loop::Repeat
30
+ # @param store [Eddy::Data::Store]
31
+ # @return [void]
32
+ def initialize(store)
33
+ @po1 = Eddy::Segments::PO1.new(store)
34
+ super(store, @po1)
35
+ end
36
+
37
+ # (see Eddy::Segments::PO1)
38
+ #
39
+ # @yieldparam [Eddy::Segments::PO1]
40
+ # @return [Eddy::Segments::PO1]
41
+ def PO1()
42
+ yield(@po1) if block_given?
43
+ return @po1
44
+ end
45
+ end
46
+
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -7,7 +7,7 @@ module Eddy
7
7
  # - Id: 855
8
8
  # - Name: Purchase Order Acknowledgement
9
9
  # - Functional Group: PR
10
- class TS855 < Eddy::TransactionSet
10
+ class TS < Eddy::Models::TransactionSet
11
11
 
12
12
  ID = "855".freeze
13
13
  NAME = "Purchase Order Acknowledgement".freeze
@@ -17,8 +17,8 @@ module Eddy
17
17
  # @return [void]
18
18
  def initialize(store)
19
19
  @bak = Eddy::Segments::BAK.new(store)
20
- @l_n1 = Eddy::TransactionSets::TS855::Loops::N1.new(store)
21
- @l_po1 = Eddy::TransactionSets::TS855::Loops::PO1.new(store)
20
+ @l_n1 = Eddy::TransactionSets::TS855::Loops::N1::Base.new(store)
21
+ @l_po1 = Eddy::TransactionSets::TS855::Loops::PO1::Base.new(store)
22
22
  @ctt = Eddy::Segments::CTT.new(store)
23
23
  super(
24
24
  store,
@@ -31,37 +31,33 @@ module Eddy
31
31
 
32
32
  # (see Eddy::Segments::BAK)
33
33
  #
34
- # @yieldparam [Eddy::Segments::BAK] bak
34
+ # @yieldparam [Eddy::Segments::BAK]
35
35
  # @return [Eddy::Segments::BAK]
36
36
  def BAK()
37
37
  yield(@bak) if block_given?
38
38
  return @bak
39
39
  end
40
40
 
41
- # (see Eddy::TransactionSets::TS855::Loops::N1)
41
+ # (see Eddy::TransactionSets::TS855::Loops::N1::Base)
42
42
  #
43
- # @yieldparam [Eddy::Segments::N1] n1
44
- # @yieldparam [Eddy::Segments::N3] n3
45
- # @yieldparam [Eddy::Segments::N4] n4
43
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::N1::Repeat]
46
44
  # @return [void]
47
45
  def L_N1(&block)
48
46
  if block_given?
49
- @l_n1.add_iteration(&block)
47
+ @l_n1.repeat(&block)
50
48
  else
51
49
  raise Eddy::Errors::Error, "No block given in loop iteration"
52
50
  end
53
51
  return nil
54
52
  end
55
53
 
56
- # (see Eddy::TransactionSets::TS855::Loops::PO1)
54
+ # (see Eddy::TransactionSets::TS855::Loops::PO1::Base)
57
55
  #
58
- # @yieldparam [Eddy::Segments::PO1] po1
59
- # @yieldparam [Eddy::TransactionSets::TS855::Loops::PID] l_pid
60
- # @yieldparam [Eddy::TransactionSets::TS855::Loops::ACK] l_ack
56
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::PO1::Repeat]
61
57
  # @return [void]
62
58
  def L_PO1(&block)
63
59
  if block_given?
64
- @l_po1.add_iteration(&block)
60
+ @l_po1.repeat(&block)
65
61
  else
66
62
  raise Eddy::Errors::Error, "No block given in loop iteration"
67
63
  end
@@ -70,7 +66,7 @@ module Eddy
70
66
 
71
67
  # (see Eddy::Segments::CTT)
72
68
  #
73
- # @yieldparam [Eddy::Segments::CTT] ctt
69
+ # @yieldparam [Eddy::Segments::CTT]
74
70
  # @return [Eddy::Segments::CTT]
75
71
  def CTT()
76
72
  yield(@ctt) if block_given?
@@ -0,0 +1,45 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 855 and its loops.
4
+ module TS855
5
+ module Loops
6
+ module ACK
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 104
11
+ # - Components:
12
+ # - ACK
13
+ class Base < Eddy::Models::Loop::Base
14
+ # @param store [Eddy::Data::Store]
15
+ # @return [void]
16
+ def initialize(store)
17
+ @repeat_limit = 104
18
+ super(store, Repeat)
19
+ end
20
+ end
21
+
22
+ # (see Eddy::TransactionSets::TS855::Loops::ACK::Base)
23
+ class Repeat < Eddy::Models::Loop::Repeat
24
+ # @param store [Eddy::Data::Store]
25
+ # @return [void]
26
+ def initialize(store)
27
+ @ack = Eddy::Segments::ACK.new(store)
28
+ super(store, @ack)
29
+ end
30
+
31
+ # (see Eddy::Segments::ACK)
32
+ #
33
+ # @yieldparam [Eddy::Segments::ACK]
34
+ # @return [Eddy::Segments::ACK]
35
+ def ACK()
36
+ yield(@ack) if block_given?
37
+ return @ack
38
+ end
39
+ end
40
+
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,72 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 855 and its loops.
4
+ module TS855
5
+ module Loops
6
+ module N1
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 200
11
+ # - Components:
12
+ # - N1
13
+ # - N3
14
+ # - N4
15
+ class Base < Eddy::Models::Loop::Base
16
+ # @param store [Eddy::Data::Store]
17
+ # @return [void]
18
+ def initialize(store)
19
+ @repeat_limit = 200
20
+ super(store, Repeat)
21
+ end
22
+ end
23
+
24
+ # (see Eddy::TransactionSets::TS855::Loops::N1::Base)
25
+ class Repeat < Eddy::Models::Loop::Repeat
26
+ # @param store [Eddy::Data::Store]
27
+ # @return [void]
28
+ def initialize(store)
29
+ @n1 = Eddy::Segments::N1.new(store)
30
+ @n3 = Eddy::Segments::N3.new(store)
31
+ @n4 = Eddy::Segments::N4.new(store)
32
+ super(
33
+ store,
34
+ @n1,
35
+ @n3,
36
+ @n4,
37
+ )
38
+ end
39
+
40
+ # (see Eddy::Segments::N1)
41
+ #
42
+ # @yieldparam [Eddy::Segments::N1]
43
+ # @return [Eddy::Segments::N1]
44
+ def N1()
45
+ yield(@n1) if block_given?
46
+ return @n1
47
+ end
48
+
49
+ # (see Eddy::Segments::N3)
50
+ #
51
+ # @yieldparam [Eddy::Segments::N3]
52
+ # @return [Eddy::Segments::N3]
53
+ def N3()
54
+ yield(@n3) if block_given?
55
+ return @n3
56
+ end
57
+
58
+ # (see Eddy::Segments::N4)
59
+ #
60
+ # @yieldparam [Eddy::Segments::N4]
61
+ # @return [Eddy::Segments::N4]
62
+ def N4()
63
+ yield(@n4) if block_given?
64
+ return @n4
65
+ end
66
+ end
67
+
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -0,0 +1,45 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 855 and its loops.
4
+ module TS855
5
+ module Loops
6
+ module PID
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 1,000
11
+ # - Components:
12
+ # - PID
13
+ class Base < Eddy::Models::Loop::Base
14
+ # @param store [Eddy::Data::Store]
15
+ # @return [void]
16
+ def initialize(store)
17
+ @repeat_limit = 1_000
18
+ super(store, Repeat)
19
+ end
20
+ end
21
+
22
+ # (see Eddy::TransactionSets::TS855::Loops::PID::Base)
23
+ class Repeat < Eddy::Models::Loop::Repeat
24
+ # @param store [Eddy::Data::Store]
25
+ # @return [void]
26
+ def initialize(store)
27
+ @pid = Eddy::Segments::PID.new(store)
28
+ super(store, @pid)
29
+ end
30
+
31
+ # (see Eddy::Segments::PID)
32
+ #
33
+ # @yieldparam [Eddy::Segments::PID]
34
+ # @return [Eddy::Segments::PID]
35
+ def PID()
36
+ yield(@pid) if block_given?
37
+ return @pid
38
+ end
39
+ end
40
+
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,80 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 855 and its loops.
4
+ module TS855
5
+ module Loops
6
+ module PO1
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 100,000
11
+ # - Components:
12
+ # - PO1
13
+ # - PID (loop)
14
+ # - ACK (loop)
15
+ class Base < Eddy::Models::Loop::Base
16
+ # @param store [Eddy::Data::Store]
17
+ # @return [void]
18
+ def initialize(store)
19
+ @repeat_limit = 100_000
20
+ super(store, Repeat)
21
+ end
22
+ end
23
+
24
+ # (see Eddy::TransactionSets::TS855::Loops::PO1::Base)
25
+ class Repeat < Eddy::Models::Loop::Repeat
26
+ # @param store [Eddy::Data::Store]
27
+ # @return [void]
28
+ def initialize(store)
29
+ @po1 = Eddy::Segments::PO1.new(store)
30
+ @l_pid = Eddy::TransactionSets::TS855::Loops::PID::Base.new(store)
31
+ @l_ack = Eddy::TransactionSets::TS855::Loops::ACK::Base.new(store)
32
+ super(
33
+ store,
34
+ @po1,
35
+ @l_pid,
36
+ @l_ack,
37
+ )
38
+ end
39
+
40
+ # (see Eddy::Segments::PO1)
41
+ #
42
+ # @yieldparam [Eddy::Segments::PO1]
43
+ # @return [Eddy::Segments::PO1]
44
+ def PO1()
45
+ yield(@po1) if block_given?
46
+ return @po1
47
+ end
48
+
49
+ # (see Eddy::TransactionSets::TS855::Loops::PID::Base)
50
+ #
51
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::PID::Repeat]
52
+ # @return [void]
53
+ def L_PID(&block)
54
+ if block_given?
55
+ @l_pid.repeat(&block)
56
+ else
57
+ raise Eddy::Errors::Error, "No block given in loop iteration"
58
+ end
59
+ return nil
60
+ end
61
+
62
+ # (see Eddy::TransactionSets::TS855::Loops::ACK::Base)
63
+ #
64
+ # @yieldparam [Eddy::TransactionSets::TS855::Loops::ACK::Repeat]
65
+ # @return [void]
66
+ def L_ACK(&block)
67
+ if block_given?
68
+ @l_ack.repeat(&block)
69
+ else
70
+ raise Eddy::Errors::Error, "No block given in loop iteration"
71
+ end
72
+ return nil
73
+ end
74
+ end
75
+
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
@@ -7,7 +7,7 @@ module Eddy
7
7
  # - Id: 856
8
8
  # - Name: Ship Notice/Manifest (Advance Ship Notice)
9
9
  # - Functional Group: SH
10
- class TS856 < Eddy::TransactionSet
10
+ class TS < Eddy::Models::TransactionSet
11
11
 
12
12
  ID = "856".freeze
13
13
  NAME = "Ship Notice/Manifest (Advance Ship Notice)".freeze
@@ -18,7 +18,7 @@ module Eddy
18
18
  def initialize(store)
19
19
  @bsn = Eddy::Segments::BSN.new(store)
20
20
  @dtm = Eddy::Segments::DTM.new(store)
21
- @hl_shipment = Eddy::TransactionSets::TS856::Loops::HL_SHIPMENT.new(store)
21
+ @hl_shipment = Eddy::TransactionSets::TS856::Loops::HL_Shipment::Base.new(store)
22
22
  @ctt = Eddy::Segments::CTT.new(store)
23
23
  super(
24
24
  store,
@@ -31,7 +31,7 @@ module Eddy
31
31
 
32
32
  # (see Eddy::Segments::BSN)
33
33
  #
34
- # @yieldparam [Eddy::Segments::BSN] bsn
34
+ # @yieldparam [Eddy::Segments::BSN]
35
35
  # @return [Eddy::Segments::BSN]
36
36
  def BSN()
37
37
  yield(@bsn) if block_given?
@@ -40,28 +40,20 @@ module Eddy
40
40
 
41
41
  # (see Eddy::Segments::DTM)
42
42
  #
43
- # @yieldparam [Eddy::Segments::DTM] dtm
43
+ # @yieldparam [Eddy::Segments::DTM]
44
44
  # @return [Eddy::Segments::DTM]
45
45
  def DTM()
46
46
  yield(@dtm) if block_given?
47
47
  return @dtm
48
48
  end
49
49
 
50
- # (see Eddy::TransactionSets::TS856::Loops::HL_SHIPMENT)
50
+ # (see Eddy::TransactionSets::TS856::Loops::HL_Shipment::Base)
51
51
  #
52
- # @yieldparam [Eddy::Segments::HL] hl_s
53
- # @yieldparam [Eddy::Segments::TD1] td1
54
- # @yieldparam [Eddy::Segments::TD5] td5
55
- # @yieldparam [Eddy::Segments::REF] ref
56
- # @yieldparam [Eddy::Segments::DTM] dtm
57
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::N1] l_n1
58
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ORDER] hl_order
59
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_TARE] hl_tare
60
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ITEM] hl_item
52
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_Shipment::Repeat]
61
53
  # @return [void]
62
54
  def HL_SHIPMENT(&block)
63
55
  if block_given?
64
- @hl_shipment.add_iteration(&block)
56
+ @hl_shipment.repeat(&block)
65
57
  else
66
58
  raise Eddy::Errors::Error, "No block given in loop iteration"
67
59
  end
@@ -70,7 +62,7 @@ module Eddy
70
62
 
71
63
  # (see Eddy::Segments::CTT)
72
64
  #
73
- # @yieldparam [Eddy::Segments::CTT] ctt
65
+ # @yieldparam [Eddy::Segments::CTT]
74
66
  # @return [Eddy::Segments::CTT]
75
67
  def CTT()
76
68
  yield(@ctt) if block_given?
@@ -0,0 +1,87 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ module TS856
4
+ module Loops
5
+ module HL_Item
6
+
7
+ # ### Loop Summary:
8
+ #
9
+ # - Repeat: 1
10
+ # - Components:
11
+ # - HL
12
+ # - LIN
13
+ # - SN1
14
+ # - SLN (loop)
15
+ class Base < Eddy::Models::Loop::Base
16
+ # @param store [Eddy::Data::Store]
17
+ # @return [void]
18
+ def initialize(store)
19
+ @repeat_limit = 1
20
+ super(store, Repeat)
21
+ end
22
+ end
23
+
24
+ # (see Eddy::TransactionSets::TS856::Loops::HL_Item::Base)
25
+ class Repeat < Eddy::Models::Loop::Repeat
26
+ # @param store [Eddy::Data::Store]
27
+ # @return [void]
28
+ def initialize(store)
29
+ @hl = Eddy::Segments::HL.new(store)
30
+ @lin = Eddy::Segments::LIN.new(store)
31
+ @sn1 = Eddy::Segments::SN1.new(store)
32
+ @l_sln = Eddy::TransactionSets::TS856::Loops::SLN::Base.new(store)
33
+ super(
34
+ store,
35
+ @hl,
36
+ @lin,
37
+ @sn1,
38
+ @l_sln,
39
+ )
40
+ end
41
+
42
+ # (see Eddy::Segments::HL)
43
+ #
44
+ # @yieldparam [Eddy::Segments::HL]
45
+ # @return [Eddy::Segments::HL]
46
+ def HL()
47
+ yield(@hl) if block_given?
48
+ return @hl
49
+ end
50
+
51
+ # (see Eddy::Segments::LIN)
52
+ #
53
+ # @yieldparam [Eddy::Segments::LIN]
54
+ # @return [Eddy::Segments::LIN]
55
+ def LIN()
56
+ yield(@lin) if block_given?
57
+ return @lin
58
+ end
59
+
60
+ # (see Eddy::Segments::SN1)
61
+ #
62
+ # @yieldparam [Eddy::Segments::SN1]
63
+ # @return [Eddy::Segments::SN1]
64
+ def SN1()
65
+ yield(@sn1) if block_given?
66
+ return @sn1
67
+ end
68
+
69
+ # (see Eddy::TransactionSets::TS856::Loops::SLN::Base)
70
+ #
71
+ # @yieldparam [Eddy::TransactionSets::TS856::Loops::SLN::Repeat]
72
+ # @return [void]
73
+ def L_SLN(&block)
74
+ if block_given?
75
+ @l_sln.repeat(&block)
76
+ else
77
+ raise Eddy::Errors::Error, "No block given in loop iteration"
78
+ end
79
+ return nil
80
+ end
81
+ end
82
+
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end