Sha256: e23891b7a5ad6d6aac5c97eec862ea012d1f7185c5b46a486f898adbe473dd62

Contents?: true

Size: 1.72 KB

Versions: 1

Compression:

Stored size: 1.72 KB

Contents

class AbaGenerator
  class Definition

    def self.define_fixed_width(options={})
      # Create a FixedWidthGenerator::Defintion to describe ABA file format
      FixedWidthGenerator.define :aba do |d|
        # Create the ABA DESCRIPTION line
        d.header(:align => :left) do |header|
          header.column :record_type, 1, :parser => :to_i
          header.spacer 17
          header.column :reel_sequence_number, 2
          header.column :institution_code, 3
          header.spacer 7
          header.column :user_name, 26
          header.column :user_id, 6, :padding => "0"
          header.column :description, 12
          header.column :process_date, 6
          header.spacer 40
        end

        d.body(:align => :left) do |body|
          body.column :record_type, 1, :parser => :to_i
          body.column :bsb, 7
          body.column :account_number, 9
          body.column :indicator, 1
          body.column :txcode, 2
          body.column :amount, 10
          body.column :account_name, 32
          body.column :reference, 18
          body.column :source_bsb, 7
          body.column :source_account_number, 9
          body.column :remitter_name, 16
          body.column :withholding_tax_amt, 8, padding: "0"
        end

        d.footer(:align => :right) do |footer|
          footer.column :record_type, 1, :parser => :to_i
          footer.column :bsb_filler, 7
          footer.spacer 12
          footer.column :net_total, 10, :padding => "0"
          footer.column :credit_total, 10, :padding => "0"
          footer.column :debit_total, 10, :padding => "0"
          footer.spacer 24
          footer.column :records_count, 6, :padding => "0"
          footer.spacer 40
        end
      end
    end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
aba_generator-1.0.0 lib/aba_generator/definition.rb