class AbaGenerator::Definition

Public Class Methods

define_fixed_width(options={}) click to toggle source
# File lib/aba_generator/definition.rb, line 4
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