class Ibandit::PseudoIBANAssembler
Public Class Methods
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 5 def initialize(country_code: nil, bank_code: nil, branch_code: nil, account_number: nil) @country_code = country_code @bank_code = bank_code @branch_code = branch_code @account_number = account_number end
Public Instance Methods
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 15 def assemble return unless can_assemble? [ @country_code, Constants::PSEUDO_IBAN_CHECK_DIGITS, padded_bank_code, padded_branch_code, padded_account_number, ].join end
Private Instance Methods
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 52 def account_number_valid? param_valid?(@account_number, :pseudo_iban_account_number_length) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 44 def bank_code_valid? param_valid?(@bank_code, :pseudo_iban_bank_code_length) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 48 def branch_code_valid? param_valid?(@branch_code, :pseudo_iban_branch_code_length) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 29 def can_assemble? country_code_valid? && bank_code_valid? && branch_code_valid? && account_number_valid? end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 36 def country_code_valid? Constants::PSEUDO_IBAN_COUNTRY_CODES.include?(@country_code) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 75 def pad(number, length_key) return if number.nil? number.rjust(structure[length_key], padding_character) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 71 def padded_account_number pad(@account_number, :pseudo_iban_account_number_length) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 63 def padded_bank_code pad(@bank_code, :pseudo_iban_bank_code_length) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 67 def padded_branch_code pad(@branch_code, :pseudo_iban_branch_code_length) end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 40 def padding_character Constants::PSEUDO_IBAN_PADDING_CHARACTER_FOR[@country_code] end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 56 def param_valid?(value, length_key) return true unless value.nil? return true if structure[length_key]&.zero? false end
Source
# File lib/ibandit/pseudo_iban_assembler.rb, line 81 def structure Ibandit.structures.fetch(@country_code) end