Sha256: 9b263564e63fe24b5f8c753e4b08d4e89d27bdb156342500e88c72bded74c5d0
Contents?: true
Size: 1.45 KB
Versions: 3
Compression:
Stored size: 1.45 KB
Contents
module Eddy module Models # A group of `Eddy::Models::TransactionSet::Base` classes. class FunctionalGroup # @return [String] attr_reader :id # Data store for the Interchange and all encompassed components. # @return [Eddy::Data::Store] attr_accessor :store # A unique control number for the Functional Group. # @return [Integer] attr_accessor :control_number # An array of Transaction Set instances. # @return [Array<Eddy::Models::TransactionSet>] attr_accessor :transaction_sets # @param store [Eddy::Data::Store] # @param transaction_sets [Eddy::Models::TransactionSet] # @return [void] def initialize(store, *transaction_sets) self.store = store transaction_sets.flatten! self.transaction_sets = transaction_sets || [] if self.transaction_sets.length == 0 raise ArgumentError, "At least one transaction set is required to create a functional group" end @id = self.transaction_sets.first.functional_group self.control_number = Eddy::Data.new_functional_group_control_number(@id) end # @return [Array<#render>] def render() gs = Eddy::Segments::GS.new(self.store, self.control_number, @id) ge = Eddy::Segments::GE.new(self.store, self.control_number, self.transaction_sets.length) return [gs, self.transaction_sets, ge].flatten.map(&:render) end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
eddy-0.8.3 | lib/eddy/models/functional_group.rb |
eddy-0.8.2 | lib/eddy/models/functional_group.rb |
eddy-0.8.1 | lib/eddy/models/functional_group.rb |