class Bank::IBAN
Public Class Methods
new(code)
click to toggle source
# File lib/bank/iban.rb, line 14 def initialize(code) @code = code.to_s.gsub(/\s+/, '').upcase end
valid?(code)
click to toggle source
# File lib/bank/iban.rb, line 10 def self.valid?(code) new(code).valid? end
Public Instance Methods
bban()
click to toggle source
# File lib/bank/iban.rb, line 26 def bban @bban ||= BBAN.new(country_code, @code[4..-1]) end
check_digits()
click to toggle source
# File lib/bank/iban.rb, line 22 def check_digits @code[2..3] end
country_code()
click to toggle source
# File lib/bank/iban.rb, line 18 def country_code @code[0..1] end
to_i()
click to toggle source
# File lib/bank/iban.rb, line 38 def to_i "#{bban}#{country_code}#{check_digits}".each_char.map { |chr| chr.to_i(36) }.join.to_i end
to_s(formatted=false)
click to toggle source
# File lib/bank/iban.rb, line 42 def to_s(formatted=false) formatted ? @code.gsub(/(.{4})/, '\1 ').strip : @code end
valid?()
click to toggle source
# File lib/bank/iban.rb, line 30 def valid? valid_check_digits? && bban.valid? end
valid_check_digits?()
click to toggle source
# File lib/bank/iban.rb, line 34 def valid_check_digits? to_i % 97 == 1 end