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
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: CAD
6
6
  # - Name: Carrier Detail
7
7
  # - Purpose: To specify transportation details for the transaction.
8
- class CAD < Eddy::Segment
8
+ class CAD < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: CTP
6
6
  # - Name: Pricing Information
7
7
  # - Purpose: To specify pricing information.
8
- class CTP < Eddy::Segment
8
+ class CTP < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: CTT
6
6
  # - Name: Transaction Totals
7
7
  # - Purpose: To transmit a hash total for a specific element in the transaction set
8
- class CTT < Eddy::Segment
8
+ class CTT < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: DTM
6
6
  # - Name: Date/Time Reference
7
7
  # - Purpose: To specify pertinent dates and times.
8
- class DTM < Eddy::Segment
8
+ class DTM < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: IT1
6
6
  # - Name: Baseline Item Data (Invoice)
7
7
  # - Purpose: To specify the basic and most frequently used line item data for the invoice and related transactions.
8
- class IT1 < Eddy::Segment
8
+ class IT1 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: LIN
6
6
  # - Name: Item Identification
7
7
  # - Purpose: To specify basic item identification data.
8
- class LIN < Eddy::Segment
8
+ class LIN < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: MAN
6
6
  # - Name: Marks and Numbers
7
7
  # - Purpose: To indicate identifying marks and numbers for shipping containers.
8
- class MAN < Eddy::Segment
8
+ class MAN < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: N1
6
6
  # - Name: Name
7
7
  # - Purpose: To identify a party by type of organization, name, and code
8
- class N1 < Eddy::Segment
8
+ class N1 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: N3
6
6
  # - Name: Address Information
7
7
  # - Purpose: To specify the location of the named party
8
- class N3 < Eddy::Segment
8
+ class N3 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: N4
6
6
  # - Name: Geographic Location
7
7
  # - Purpose: To specify the geographic place of the named party
8
- class N4 < Eddy::Segment
8
+ class N4 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: PID
6
6
  # - Name: Product/Item Description
7
7
  # - Purpose: To describe a product or process in coded or free-form format
8
- class PID < Eddy::Segment
8
+ class PID < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: PO1
6
6
  # - Name: Baseline Item Data
7
7
  # - Purpose: To specify basic and most frequently used line item data
8
- class PO1 < Eddy::Segment
8
+ class PO1 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: PRF
6
6
  # - Name: Purchase Order Reference
7
7
  # - Purpose: To provide reference to a specific purchase order.
8
- class PRF < Eddy::Segment
8
+ class PRF < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: REF
6
6
  # - Name: Reference Identification
7
7
  # - Purpose: To specify identifying information.
8
- class REF < Eddy::Segment
8
+ class REF < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: SAC
6
6
  # - Name: Service, Promotion, Allowance, or Charge Information
7
7
  # - Purpose: To request or identify a service, promotion, allowance, or charge; to specify the amount or percentage for the service,promotion, allowance, or charge.
8
- class SAC < Eddy::Segment
8
+ class SAC < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: SLN
6
6
  # - Name: Subline Item Detail
7
7
  # - Purpose: To specify product subline detail item data.
8
- class SLN < Eddy::Segment
8
+ class SLN < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: SN1
6
6
  # - Name: Item Detail (Shipment)
7
7
  # - Purpose: To specify line-item detail relative to shipment.
8
- class SN1 < Eddy::Segment
8
+ class SN1 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: TD1
6
6
  # - Name: Carrier Details (Quantity and Weight)
7
7
  # - Purpose: To specify the transportation details relative to commodity, weight, and quantity.
8
- class TD1 < Eddy::Segment
8
+ class TD1 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: TD5
6
6
  # - Name: Carrier Details (Routing Sequence/Transit Time)
7
7
  # - Purpose: To specify the carrier and sequence of routing and provide transit time information.
8
- class TD5 < Eddy::Segment
8
+ class TD5 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: TDS
6
6
  # - Name: Total Monetary Value Summary
7
7
  # - Purpose: To specify the total invoice discounts and amounts.
8
- class TDS < Eddy::Segment
8
+ class TDS < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: GE
6
6
  # - Name: Functional Group Trailer
7
7
  # - Purpose: To indicate the end of a functional group and to provide control information.
8
- class GE < Eddy::Segment
8
+ class GE < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @param group_control_number [Integer] A unique *functional group control number*.
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: GS
6
6
  # - Name: Functional Group Header
7
7
  # - Purpose: To indicate the beginning of a functional group and to provide control information.
8
- class GS < Eddy::Segment
8
+ class GS < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @param group_control_number [Integer] A unique *functional group control number*.
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: IEA
6
6
  # - Name: Interchange Control Trailer
7
7
  # - Purpose: To define the end of an interchange of zero or more functional groups and interchange-related control segments.
8
- class IEA < Eddy::Segment
8
+ class IEA < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @param interchange_control_number [Integer] A unique *interchange control number*.
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: ISA
6
6
  # - Name: Interchange Control Header
7
7
  # - Purpose: To start and identify an interchange of zero or more functional groups and interchange-related control segments.
8
- class ISA < Eddy::Segment
8
+ class ISA < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @param interchange_control_number [Integer] A unique *interchange control number*.
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: SE
6
6
  # - Name: Transaction Set Trailer
7
7
  # - Purpose: To indicate the end of the transaction set and provide the count of the transmitted segments (including the beginning (ST) and ending (SE) segments).
8
- class SE < Eddy::Segment
8
+ class SE < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: ST
6
6
  # - Name: Transaction Set Header
7
7
  # - Purpose: To indicate the start of a transaction set and to assign a control number.
8
- class ST < Eddy::Segment
8
+ class ST < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -11,7 +11,7 @@ module Eddy
11
11
  # - Related RFIs
12
12
  # - [HL SEGMENT CONTENT - RFI 31](http://www.x12.org/rfis/HL%20Segment%20Content.pdf)
13
13
  # - [HL Parent/Child relationship - RFI 610](http://rfi.x12.org/Request/Details/610?stateViewModel=WPC.RFI.Models.ViewModels.RequestViewModel)
14
- class HL < Eddy::Segment
14
+ class HL < Eddy::Models::Segment
15
15
 
16
16
  # @param store [Eddy::Data::Store]
17
17
  # @return [void]
@@ -5,7 +5,7 @@ module Eddy
5
5
  # - Id: N2
6
6
  # - Name: Additional Name Information
7
7
  # - Purpose: To identify a party by type of organization, name, and code.
8
- class N2 < Eddy::Segment
8
+ class N2 < Eddy::Models::Segment
9
9
 
10
10
  # @param store [Eddy::Data::Store]
11
11
  # @return [void]
@@ -7,7 +7,7 @@ module Eddy
7
7
  # - Id: 810
8
8
  # - Name: Invoice
9
9
  # - Functional Group: IN
10
- class TS810 < Eddy::TransactionSet
10
+ class TS < Eddy::Models::TransactionSet
11
11
 
12
12
  ID = "810".freeze
13
13
  NAME = "Invoice".freeze
@@ -18,12 +18,12 @@ module Eddy
18
18
  def initialize(store)
19
19
  @big = Eddy::Segments::BIG.new(store)
20
20
  @ref = Eddy::Segments::REF.new(store)
21
- @l_n1 = Eddy::TransactionSets::TS810::Loops::N1.new(store)
21
+ @l_n1 = Eddy::TransactionSets::TS810::Loops::N1::Base.new(store)
22
22
  @dtm = Eddy::Segments::DTM.new(store)
23
- @l_it1 = Eddy::TransactionSets::TS810::Loops::IT1.new(store)
23
+ @l_it1 = Eddy::TransactionSets::TS810::Loops::IT1::Base.new(store)
24
24
  @tds = Eddy::Segments::TDS.new(store)
25
25
  @cad = Eddy::Segments::CAD.new(store)
26
- @l_sac = Eddy::TransactionSets::TS810::Loops::SAC.new(store)
26
+ @l_sac = Eddy::TransactionSets::TS810::Loops::SAC::Base.new(store)
27
27
  @ctt = Eddy::Segments::CTT.new(store)
28
28
  super(
29
29
  store,
@@ -41,7 +41,7 @@ module Eddy
41
41
 
42
42
  # (see Eddy::Segments::BIG)
43
43
  #
44
- # @yieldparam [Eddy::Segments::BIG] big
44
+ # @yieldparam [Eddy::Segments::BIG]
45
45
  # @return [Eddy::Segments::BIG]
46
46
  def BIG()
47
47
  yield(@big) if block_given?
@@ -50,22 +50,20 @@ module Eddy
50
50
 
51
51
  # (see Eddy::Segments::REF)
52
52
  #
53
- # @yieldparam [Eddy::Segments::REF] ref
53
+ # @yieldparam [Eddy::Segments::REF]
54
54
  # @return [Eddy::Segments::REF]
55
55
  def REF()
56
56
  yield(@ref) if block_given?
57
57
  return @ref
58
58
  end
59
59
 
60
- # (see Eddy::TransactionSets::TS810::Loops::N1)
60
+ # (see Eddy::TransactionSets::TS810::Loops::N1::Base)
61
61
  #
62
- # @yieldparam [Eddy::Segments::N1] n1
63
- # @yieldparam [Eddy::Segments::N3] n3
64
- # @yieldparam [Eddy::Segments::N4] n4
62
+ # @yieldparam [Eddy::TransactionSets::TS810::Loops::N1::Repeat]
65
63
  # @return [void]
66
64
  def L_N1(&block)
67
65
  if block_given?
68
- @l_n1.add_iteration(&block)
66
+ @l_n1.repeat(&block)
69
67
  else
70
68
  raise Eddy::Errors::Error, "No block given in loop iteration"
71
69
  end
@@ -74,23 +72,20 @@ module Eddy
74
72
 
75
73
  # (see Eddy::Segments::DTM)
76
74
  #
77
- # @yieldparam [Eddy::Segments::DTM] dtm
75
+ # @yieldparam [Eddy::Segments::DTM]
78
76
  # @return [Eddy::Segments::DTM]
79
77
  def DTM()
80
78
  yield(@dtm) if block_given?
81
79
  return @dtm
82
80
  end
83
81
 
84
- # (see Eddy::TransactionSets::TS810::Loops::IT1)
82
+ # (see Eddy::TransactionSets::TS810::Loops::IT1::Base)
85
83
  #
86
- # @yieldparam [Eddy::Segments::IT1] it1
87
- # @yieldparam [Eddy::Segments::CTP] ctp
88
- # @yieldparam [Eddy::TransactionSets::TS810::Loops::PID] l_pid
89
- # @yieldparam [Eddy::TransactionSets::TS810::Loops::SAC] l_sac
84
+ # @yieldparam [Eddy::TransactionSets::TS810::Loops::IT1::Repeat]
90
85
  # @return [void]
91
86
  def L_IT1(&block)
92
87
  if block_given?
93
- @l_it1.add_iteration(&block)
88
+ @l_it1.repeat(&block)
94
89
  else
95
90
  raise Eddy::Errors::Error, "No block given in loop iteration"
96
91
  end
@@ -99,7 +94,7 @@ module Eddy
99
94
 
100
95
  # (see Eddy::Segments::TDS)
101
96
  #
102
- # @yieldparam [Eddy::Segments::TDS] tds
97
+ # @yieldparam [Eddy::Segments::TDS]
103
98
  # @return [Eddy::Segments::TDS]
104
99
  def TDS()
105
100
  yield(@tds) if block_given?
@@ -108,20 +103,20 @@ module Eddy
108
103
 
109
104
  # (see Eddy::Segments::CAD)
110
105
  #
111
- # @yieldparam [Eddy::Segments::CAD] cad
106
+ # @yieldparam [Eddy::Segments::CAD]
112
107
  # @return [Eddy::Segments::CAD]
113
108
  def CAD()
114
109
  yield(@cad) if block_given?
115
110
  return @cad
116
111
  end
117
112
 
118
- # (see Eddy::TransactionSets::TS810::Loops::SAC)
113
+ # (see Eddy::TransactionSets::TS810::Loops::SAC::Base)
119
114
  #
120
- # @yieldparam [Eddy::Segments::SAC] sac
115
+ # @yieldparam [Eddy::TransactionSets::TS810::Loops::SAC::Repeat]
121
116
  # @return [void]
122
117
  def L_SAC(&block)
123
118
  if block_given?
124
- @l_sac.add_iteration(&block)
119
+ @l_sac.repeat(&block)
125
120
  else
126
121
  raise Eddy::Errors::Error, "No block given in loop iteration"
127
122
  end
@@ -130,7 +125,7 @@ module Eddy
130
125
 
131
126
  # (see Eddy::Segments::CTT)
132
127
  #
133
- # @yieldparam [Eddy::Segments::CTT] ctt
128
+ # @yieldparam [Eddy::Segments::CTT]
134
129
  # @return [Eddy::Segments::CTT]
135
130
  def CTT()
136
131
  yield(@ctt) if block_given?
@@ -0,0 +1,92 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 810 and its loops.
4
+ module TS810
5
+ module Loops
6
+ module IT1
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 200,000
11
+ # - Components:
12
+ # - IT1
13
+ # - CTP
14
+ # - PID (loop)
15
+ # - SAC (loop)
16
+ class Base < Eddy::Models::Loop::Base
17
+ # @param store [Eddy::Data::Store]
18
+ # @return [void]
19
+ def initialize(store)
20
+ @repeat_limit = 200_000
21
+ super(store, Repeat)
22
+ end
23
+ end
24
+
25
+ # (see Eddy::TransactionSets::TS810::Loops::IT1::Base)
26
+ class Repeat < Eddy::Models::Loop::Repeat
27
+ # @param store [Eddy::Data::Store]
28
+ # @return [void]
29
+ def initialize(store)
30
+ @it1 = Eddy::Segments::IT1.new(store)
31
+ @ctp = Eddy::Segments::CTP.new(store)
32
+ @l_pid = Eddy::TransactionSets::TS810::Loops::PID::Base.new(store)
33
+ @l_sac = Eddy::TransactionSets::TS810::Loops::SAC::Base.new(store)
34
+ super(
35
+ store,
36
+ @it1,
37
+ @ctp,
38
+ @l_pid,
39
+ @l_sac,
40
+ )
41
+ end
42
+
43
+ # (see Eddy::Segments::IT1)
44
+ #
45
+ # @yieldparam [Eddy::Segments::IT1]
46
+ # @return [Eddy::Segments::IT1]
47
+ def IT1()
48
+ yield(@it1) if block_given?
49
+ return @it1
50
+ end
51
+
52
+ # (see Eddy::Segments::CTP)
53
+ #
54
+ # @yieldparam [Eddy::Segments::CTP]
55
+ # @return [Eddy::Segments::CTP]
56
+ def CTP()
57
+ yield(@ctp) if block_given?
58
+ return @ctp
59
+ end
60
+
61
+ # (see Eddy::TransactionSets::TS810::Loops::PID::Base)
62
+ #
63
+ # @yieldparam [Eddy::TransactionSets::TS810::Loops::PID::Repeat]
64
+ # @return [void]
65
+ def L_PID(&block)
66
+ if block_given?
67
+ @l_pid.repeat(&block)
68
+ else
69
+ raise Eddy::Errors::Error, "No block given in loop iteration"
70
+ end
71
+ return nil
72
+ end
73
+
74
+ # (see Eddy::TransactionSets::TS810::Loops::SAC::Base)
75
+ #
76
+ # @yieldparam [Eddy::TransactionSets::TS810::Loops::SAC::Repeat]
77
+ # @return [void]
78
+ def L_SAC(&block)
79
+ if block_given?
80
+ @l_sac.repeat(&block)
81
+ else
82
+ raise Eddy::Errors::Error, "No block given in loop iteration"
83
+ end
84
+ return nil
85
+ end
86
+ end
87
+
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -0,0 +1,72 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 810 and its loops.
4
+ module TS810
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::TS810::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 810 and its loops.
4
+ module TS810
5
+ module Loops
6
+ module PID
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 1000
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 = 1000
18
+ super(store, Repeat)
19
+ end
20
+ end
21
+
22
+ # (see Eddy::TransactionSets::TS810::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] 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,45 @@
1
+ module Eddy
2
+ module TransactionSets
3
+ # Namespace for Transaction Set 810 and its loops.
4
+ module TS810
5
+ module Loops
6
+ module SAC
7
+
8
+ # ### Loop Summary:
9
+ #
10
+ # - Repeat: 25
11
+ # - Components:
12
+ # - SAC
13
+ class Base < Eddy::Models::Loop::Base
14
+ # @param store [Eddy::Data::Store]
15
+ # @return [void]
16
+ def initialize(store)
17
+ @repeat_limit = 25
18
+ super(store, Repeat)
19
+ end
20
+ end
21
+
22
+ # (see Eddy::TransactionSets::TS810::Loops::SAC::Base)
23
+ class Repeat < Eddy::Models::Loop::Repeat
24
+ # @param store [Eddy::Data::Store]
25
+ # @return [void]
26
+ def initialize(store)
27
+ @sac = Eddy::Segments::SAC.new(store)
28
+ super(store, @sac)
29
+ end
30
+
31
+ # (see Eddy::Segments::SAC)
32
+ #
33
+ # @yieldparam [Eddy::Segments::SAC]
34
+ # @return [Eddy::Segments::SAC]
35
+ def SAC()
36
+ yield(@sac) if block_given?
37
+ return @sac
38
+ end
39
+ end
40
+
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end