Module: Ibandit

Defined in:
lib/ibandit/german_details_converter.rb,
lib/ibandit.rb,
lib/ibandit/iban.rb,
lib/ibandit/errors.rb,
lib/ibandit/version.rb,
lib/ibandit/constants.rb,
lib/ibandit/check_digit.rb,
lib/ibandit/iban_splitter.rb,
lib/ibandit/iban_assembler.rb,
lib/ibandit/sweden/validator.rb,
lib/ibandit/sweden/bank_lookup.rb,
lib/ibandit/pseudo_iban_splitter.rb,
lib/ibandit/local_details_cleaner.rb,
lib/ibandit/pseudo_iban_assembler.rb,
lib/ibandit/sweden/local_details_converter.rb

Overview

German bank details don’t map directly to IBANs in the same way as in other countries - each bank has idiosyncracies for translating its cusomers’ bank details. These idiosyncracies are described in a document from the Bundesbank: www.bundesbank.de/Redaktion/EN/Standardartikel/Tasks/Payment_systems/iban_rules.html?nn=26102

Defined Under Namespace

Modules: CheckDigit, Constants, GermanDetailsConverter, IBANAssembler, IBANSplitter, LocalDetailsCleaner, Sweden Classes: IBAN, InvalidCharacterError, PseudoIBANAssembler, PseudoIBANSplitter, UnsupportedAccountDetails

Constant Summary collapse

VERSION =
"1.9.0"

Class Attribute Summary collapse

Class Method Summary collapse

Class Attribute Details

.bic_finderObject

Returns the value of attribute bic_finder.



24
25
26
# File 'lib/ibandit.rb', line 24

def bic_finder
  @bic_finder
end

.modulus_checkerObject

Returns the value of attribute modulus_checker.



24
25
26
# File 'lib/ibandit.rb', line 24

def modulus_checker
  @modulus_checker
end

Class Method Details

.find_bic(country_code, national_id) ⇒ Object

Raises:

  • (NotImplementedError)


26
27
28
29
30
# File 'lib/ibandit.rb', line 26

def find_bic(country_code, national_id)
  raise NotImplementedError, "BIC finder is not defined" unless @bic_finder

  @bic_finder.call(country_code, national_id)
end

.structuresObject



32
33
34
35
36
37
# File 'lib/ibandit.rb', line 32

def structures
  @structures ||= YAML.safe_load(
    File.read(File.expand_path("../data/structures.yml", __dir__)),
    permitted_classes: [Range, Symbol],
  )
end

.translate(key, options = {}) ⇒ Object



39
40
41
# File 'lib/ibandit.rb', line 39

def translate(key, options = {})
  I18n.translate(key, scope: [:ibandit], **options)
end