module BSB

Constants

CHANGES_FILEPATH
DB_FILEPATH
VERSION

Public Class Methods

bank_name(bsb) click to toggle source
# File lib/bsb.rb, line 33
def bank_name(bsb)
  bank_list.each do |prefix, bank_name|
    return bank_name if bsb.start_with? prefix
  end
  nil
end
lookup(number) click to toggle source
# File lib/bsb.rb, line 11
def lookup(number)
  bsb = normalize(number)
  array = data_hash[bsb]
  return nil if array.nil?

  {
    bsb: bsb,
    mnemonic: array[0],
    bank_name: bank_name(bsb),
    branch: array[1],
    address: array[2],
    suburb: array[3],
    state: array[4],
    postcode: array[5],
    flags: {
      paper: (array[6][0] == 'P'),
      electronic: (array[6][1] == 'E'),
      high_value: (array[6][2] == 'H')
    }
  }
end
normalize(str) click to toggle source
# File lib/bsb.rb, line 40
def normalize(str)
  str.gsub(/[^\d]/, '')
end

Protected Class Methods

bank_list() click to toggle source
# File lib/bsb.rb, line 50
def bank_list
  @bank_list ||= JSON.parse(File.read(File.expand_path('../config/bsb_bank_list.json', __dir__)))
end
data_hash() click to toggle source
# File lib/bsb.rb, line 46
def data_hash
  @data_hash ||= JSON.parse(File.read(File.expand_path("../#{DB_FILEPATH}", __dir__)))
end