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