Sha256: 9da573b48f62c7ea9affb26a8d65bf47415fe1a1567ce3416d90bd5dad01c9c5

Contents?: true

Size: 748 Bytes

Versions: 32

Compression:

Stored size: 748 Bytes

Contents

# frozen_string_literal: true

module Ibandit
  module Sweden
    class BankLookup
      def self.for_clearing_code(clearing_code)
        code = clearing_code.to_s.slice(0, 4).to_i
        bank_info_table.find { |bank| bank[:range].include?(code) }
      end

      def self.for_bank_code(bank_code)
        bank_info_table.select { |bank| bank[:bank_code] == bank_code.to_i }
      end

      def self.bank_info_table
        @swedish_bank_lookup ||=
          begin
            relative_path = "../../../../data/raw/swedish_bank_lookup.yml"
            raw_info = YAML.load_file(File.expand_path(relative_path, __FILE__))

            raw_info.map { |bank| bank.merge(range: Range.new(*bank[:range])) }
          end
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
ibandit-1.21.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.20.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.19.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.18.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.17.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.16.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.15.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.14.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.13.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.12.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.11.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.10.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.9.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.8.1 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.8.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.7.1 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.7.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.6.1 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.6.0 lib/ibandit/sweden/bank_lookup.rb
ibandit-1.5.0 lib/ibandit/sweden/bank_lookup.rb