module BSB

Constants

VERSION

Public Class Methods

bank_name(bsb) click to toggle source
# File lib/bsb.rb, line 28
def bank_name(bsb)
  bank_list.each do |prefix, bank_name|
    return bank_name if bsb.start_with? prefix
  end
  return nil
end
lookup(number) click to toggle source
# File lib/bsb.rb, line 7
def lookup(number)
  bsb = normalize(number)
  array = data_hash[bsb]
  return nil if array.nil?
  result = {
    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 35
def normalize(str)
  str.gsub(/[^\d]/, '')
end

Private Class Methods

bank_list() click to toggle source
# File lib/bsb.rb, line 44
def bank_list
  @bank_list ||= JSON.parse(IO.read(File.expand_path("../../config/bsb_bank_list.json", __FILE__)))
end
data_hash() click to toggle source
# File lib/bsb.rb, line 40
def data_hash
  @data_hash ||= JSON.parse(IO.read(File.expand_path("../../config/bsb_db.json", __FILE__)))
end