class IbanCalculator::InvalidData

Constants

CODES

Attributes

errors[RW]

Public Class Methods

new(msg, error_code) click to toggle source
Calls superclass method
# File lib/iban_calculator/invalid_data.rb, line 15
def initialize(msg, error_code)
  self.errors = resolve_error_code(error_code)
  super(msg)
end

Public Instance Methods

error_codes(n) click to toggle source
# File lib/iban_calculator/invalid_data.rb, line 32
def error_codes(n)
  (0..13).map { |i| n & 2**i } - [0]
end
known_error_codes(error_code) click to toggle source
# File lib/iban_calculator/invalid_data.rb, line 28
def known_error_codes(error_code)
  error_codes(error_code) & CODES.keys
end
resolve_error_code(error_code) click to toggle source
# File lib/iban_calculator/invalid_data.rb, line 20
def resolve_error_code(error_code)
  known_error_codes(error_code).reduce(Hash.new([])) do |hsh, item|
    error = CODES[item]
    hsh[error[0]] += error[1]
    hsh
  end
end