Class: AbaGenerator::Definition

Inherits:
Object
  • Object
show all
Defined in:
lib/aba_generator/definition.rb

Class Method Summary collapse

Class Method Details

.define_fixed_width(options = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# 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