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
@@ -1,104 +0,0 @@
1
- module Eddy
2
- module TransactionSets
3
- # Namespace for Transaction Set 855 and its loops.
4
- module TS855
5
- module Loops
6
-
7
- # ### Loop Summary:
8
- #
9
- # - Repeat: 200
10
- # - Components:
11
- # - N1
12
- # - N3
13
- # - N4
14
- class N1 < Eddy::Loop::Base
15
- # @param store [Eddy::Data::Store]
16
- # @return [void]
17
- def initialize(store)
18
- super(store)
19
- @repeat = 200
20
- @components = [
21
- Eddy::Segments::N1,
22
- Eddy::Segments::N3,
23
- Eddy::Segments::N4,
24
- ]
25
- end
26
-
27
- # @!method add_iteration(&block)
28
- # @yieldparam [Eddy::Segments::N1] n1
29
- # @yieldparam [Eddy::Segments::N3] n3
30
- # @yieldparam [Eddy::Segments::N4] n4
31
- # @return [void]
32
- end
33
-
34
- # ### Loop Summary:
35
- #
36
- # - Repeat: 100,000
37
- # - Components:
38
- # - PO1
39
- # - PID (loop)
40
- # - ACK (loop)
41
- class PO1 < Eddy::Loop::Base
42
- # @param store [Eddy::Data::Store]
43
- # @return [void]
44
- def initialize(store)
45
- super(store)
46
- @repeat = 100_000
47
- @components = [
48
- Eddy::Segments::PO1,
49
- Eddy::TransactionSets::TS855::Loops::PID,
50
- Eddy::TransactionSets::TS855::Loops::ACK,
51
- ]
52
- end
53
-
54
- # @!method add_iteration(&block)
55
- # @yieldparam [Eddy::Segments::PO1] po1
56
- # @yieldparam [Eddy::TransactionSets::TS855::Loops::PID] pid
57
- # @yieldparam [Eddy::TransactionSets::TS855::Loops::ACK] ack
58
- # @return [void]
59
- end
60
-
61
- # ### Loop Summary:
62
- #
63
- # - Repeat: 1,000
64
- # - Components:
65
- # - PID
66
- class PID < Eddy::Loop::Base
67
- # @param store [Eddy::Data::Store]
68
- # @return [void]
69
- def initialize(store)
70
- super(store)
71
- @repeat = 1_000
72
- @components = [
73
- Eddy::Segments::PID,
74
- ]
75
- end
76
- # @!method add_iteration()
77
- # @yieldparam [Eddy::Segments::PID] pid
78
- # @return [void]
79
- end
80
-
81
- # ### Loop Summary:
82
- #
83
- # - Repeat: 104
84
- # - Components:
85
- # - ACK
86
- class ACK < Eddy::Loop::Base
87
- # @param store [Eddy::Data::Store]
88
- # @return [void]
89
- def initialize(store)
90
- super(store)
91
- @repeat = 104
92
- @components = [
93
- Eddy::Segments::ACK,
94
- ]
95
- end
96
- # @!method add_iteration()
97
- # @yieldparam [Eddy::Segments::ACK] ack
98
- # @return [void]
99
- end
100
-
101
- end
102
- end
103
- end
104
- end
@@ -1,155 +0,0 @@
1
- module Eddy
2
- module TransactionSets
3
- # Namespace for Transaction Set 856 and its loops.
4
- module TS856
5
- module Loops
6
-
7
- # ### Loop Summary:
8
- #
9
- # - Repeat: 200,000
10
- # - Components:
11
- # - HL
12
- # - TD1
13
- # - TD5
14
- # - REF
15
- # - DTM
16
- # - N1 (loop)
17
- # - HL_ORDER (loop)
18
- # - HL_TARE (loop)
19
- # - HL_ITEM (loop)
20
- class HL_SHIPMENT < Eddy::Loop::Base
21
- # @param store [Eddy::Data::Store]
22
- # @return [void]
23
- def initialize(store)
24
- super(store)
25
- @repeat = 200_000
26
- @components = [
27
- Eddy::Segments::HL,
28
- Eddy::Segments::TD1,
29
- Eddy::Segments::TD5,
30
- Eddy::Segments::REF,
31
- Eddy::Segments::DTM,
32
- Eddy::TransactionSets::TS856::Loops::N1,
33
- Eddy::TransactionSets::TS856::Loops::HL_ORDER,
34
- Eddy::TransactionSets::TS856::Loops::HL_TARE,
35
- Eddy::TransactionSets::TS856::Loops::HL_ITEM,
36
- ]
37
- end
38
- # @!method add_iteration(&block)
39
- # @yieldparam [Eddy::Segments::HL] hl_s
40
- # @yieldparam [Eddy::Segments::TD1] td1
41
- # @yieldparam [Eddy::Segments::TD5] td5
42
- # @yieldparam [Eddy::Segments::REF] ref
43
- # @yieldparam [Eddy::Segments::DTM] dtm
44
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::N1] l_n1
45
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ORDER] hl_order
46
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_TARE] hl_tare
47
- # @yieldparam [Eddy::TransactionSets::TS856::Loops::HL_ITEM] hl_item
48
- # @return [void]
49
- end
50
-
51
- # ### Loop Summary:
52
- #
53
- # - Repeat: 200
54
- # - Components:
55
- # - N1
56
- # - N3
57
- # - N4
58
- class N1 < Eddy::Loop::Base
59
- # @param store [Eddy::Data::Store]
60
- # @return [void]
61
- def initialize(store)
62
- super(store)
63
- @repeat = 200
64
- @components = [
65
- Eddy::Segments::N1,
66
- Eddy::Segments::N3,
67
- Eddy::Segments::N4,
68
- ]
69
- end
70
- # @!method add_iteration(&block)
71
- # @yieldparam [Eddy::Segments::N1] n1
72
- # @yieldparam [Eddy::Segments::N3] n3
73
- # @yieldparam [Eddy::Segments::N4] n4
74
- # @return [void]
75
- end
76
-
77
- # ### Loop Summary:
78
- #
79
- # - Repeat: 1
80
- # - Components:
81
- # - HL
82
- # - PRF
83
- class HL_ORDER < Eddy::Loop::Base
84
- # @param store [Eddy::Data::Store]
85
- # @return [void]
86
- def initialize(store)
87
- super(store)
88
- @repeat = 1
89
- @components = [
90
- Eddy::Segments::HL,
91
- Eddy::Segments::PRF,
92
- ]
93
- end
94
- # @!method add_iteration(&block)
95
- # @yieldparam [Eddy::Segments::HL] hl_o
96
- # @yieldparam [Eddy::Segments::PRF] prf
97
- # @return [void]
98
- end
99
-
100
- # ### Loop Summary:
101
- #
102
- # - Repeat: 1
103
- # - Components:
104
- # - HL
105
- # - MAN
106
- class HL_TARE < Eddy::Loop::Base
107
- # @param store [Eddy::Data::Store]
108
- # @return [void]
109
- def initialize(store)
110
- super(store)
111
- @repeat = 1
112
- @components = [
113
- Eddy::Segments::HL,
114
- Eddy::Segments::MAN,
115
- ]
116
- end
117
- # @!method add_iteration(&block)
118
- # @yieldparam [Eddy::Segments::HL] hl_t
119
- # @yieldparam [Eddy::Segments::MAN] man
120
- # @return [void]
121
- end
122
-
123
- # ### Loop Summary:
124
- #
125
- # - Repeat: 1
126
- # - Components:
127
- # - HL
128
- # - LIN
129
- # - SN1
130
- # - SLN
131
- class HL_ITEM < Eddy::Loop::Base
132
- # @param store [Eddy::Data::Store]
133
- # @return [void]
134
- def initialize(store)
135
- super(store)
136
- @repeat = 1
137
- @components = [
138
- Eddy::Segments::HL,
139
- Eddy::Segments::LIN,
140
- Eddy::Segments::SN1,
141
- Eddy::Segments::SLN,
142
- ]
143
- end
144
- # @!method add_iteration(&block)
145
- # @yieldparam [Eddy::Segments::HL] hl_i
146
- # @yieldparam [Eddy::Segments::LIN] lin
147
- # @yieldparam [Eddy::Segments::SN1] sn1
148
- # @yieldparam [Eddy::Segments::SLN] sln
149
- # @return [void]
150
- end
151
-
152
- end
153
- end
154
- end
155
- end
@@ -1,93 +0,0 @@
1
- require "ginny"
2
-
3
- module Eddy
4
- module Build
5
- # Generate Ruby code from JSON/YAML EDI definitions.
6
- class LoopBuilder
7
-
8
- # @return [Eddy::Schema::LoopSummary]
9
- attr_accessor :summary
10
- # @return [String] (nil)
11
- attr_accessor :folder
12
- # Namespace the Loop is within.
13
- # @return [String]
14
- attr_accessor :t_set_id
15
-
16
- # @param folder [String] (nil)
17
- # @param t_set_id [Boolean] ("")
18
- # @return [void]
19
- def initialize(folder: nil, t_set_id: "")
20
- self.folder = folder
21
- self.t_set_id = t_set_id
22
- end
23
-
24
- # @param summary [Eddy::Schema::LoopSummary]
25
- # @param (see #initialize)
26
- # @return [Eddy::Build::LoopBuilder]
27
- def self.from_summary(summary, **kwargs)
28
- lb = Eddy::Build::LoopBuilder.new(**kwargs)
29
- lb.summary = summary
30
- return lb
31
- end
32
-
33
- # @return [Ginny::Class]
34
- def ginny_class()
35
- return Ginny::Class.create({
36
- classify_name: false,
37
- parent: "Eddy::Loop::Base",
38
- name: self.summary.id,
39
- description: summary.doc_comment(header: true),
40
- body: <<~STR.strip,
41
- # @param store [Eddy::Data::Store]
42
- # @return [void]
43
- def initialize(store)
44
- super(store)
45
- @repeat = #{self.summary.repeat}
46
- @components = [
47
- #{self.components(self.t_set_id)}
48
- ]
49
- end
50
-
51
- #{self.class.add_ideration(self.summary, self.t_set_id)}
52
- STR
53
- })
54
- end
55
-
56
- # @param t_set_id [Integer]
57
- # @return [String]
58
- def components(t_set_id)
59
- comps = []
60
- self.summary.components.each do |comp|
61
- case comp
62
- when Eddy::Schema::SegmentSummary
63
- comps << " Eddy::Segments::#{comp.id.upcase},"
64
- when Eddy::Schema::LoopSummary
65
- comps << " Eddy::TransactionSets::#{t_set_id}::Loops::#{comp.id.upcase},"
66
- end
67
- end
68
- return comps.join("\n ")
69
- end
70
-
71
- # @param summary [Eddy::Schema::LoopSummary]
72
- # @param t_set_id [String]
73
- # @return [String]
74
- def self.add_ideration(summary, t_set_id)
75
- yield_params = []
76
- summary.components.each do |comp|
77
- case comp
78
- when Eddy::Schema::SegmentSummary
79
- yield_params << "# @yieldparam [Eddy::Segments::#{comp.id.upcase}] #{comp.id.downcase}"
80
- when Eddy::Schema::LoopSummary
81
- yield_params << "# @yieldparam [Eddy::TransactionSets::#{t_set_id}::Loops::#{comp.id.upcase}] l_#{comp.id.downcase}"
82
- end
83
- end
84
- return <<~YARD.strip
85
- # @!method add_iteration(&block)
86
- #{yield_params.join("\n")}
87
- # @return [void]
88
- YARD
89
- end
90
-
91
- end
92
- end
93
- end