class BankAccountTools::BIC

Constants

REGEX

Public Class Methods

new(code) click to toggle source
# File lib/bank_account_tools/bic.rb, line 11
def initialize(code)
  @code = code.to_s.gsub(/\s+/, '').upcase
end
valid?(code) click to toggle source
# File lib/bank_account_tools/bic.rb, line 7
def self.valid?(code)
  new(code).valid?
end

Public Instance Methods

bank_code() click to toggle source
# File lib/bank_account_tools/bic.rb, line 15
def bank_code
  @code[0..3]
end
branch_code() click to toggle source
# File lib/bank_account_tools/bic.rb, line 27
def branch_code
  @code[8..10]
end
country_code() click to toggle source
# File lib/bank_account_tools/bic.rb, line 19
def country_code
  @code[4..5]
end
location_code() click to toggle source
# File lib/bank_account_tools/bic.rb, line 23
def location_code
  @code[6..7]
end
passive?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 43
def passive?
  location_code[1] == '1'
end
reverse_billing?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 47
def reverse_billing?
  location_code[1] == '2'
end
test?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 39
def test?
  location_code[1] == '0'
end
to_formatted_str() click to toggle source
# File lib/bank_account_tools/bic.rb, line 35
def to_formatted_str
  "#{bank_code} #{country_code} #{location_code} #{branch_code}".strip
end
to_s(formatted=false) click to toggle source
# File lib/bank_account_tools/bic.rb, line 31
def to_s(formatted=false)
  formatted ? to_formatted_str : @code
end
valid?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 51
def valid?
  valid_format? && valid_location_code? && valid_branch_code?
end
valid_branch_code?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 63
def valid_branch_code?
  branch_code.empty? || branch_code == 'XXX' || !branch_code.start_with?('X')
end
valid_format?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 55
def valid_format?
  !!@code[REGEX]
end
valid_location_code?() click to toggle source
# File lib/bank_account_tools/bic.rb, line 59
def valid_location_code?
  !location_code.start_with?('0', '1') && !location_code.end_with?('O')
end