Sha256: 09667a647d5ff3053af1657d0d725e35ce47c0b327ffb69e2ad6e073c11987fa

Contents?: true

Size: 581 Bytes

Versions: 2

Compression:

Stored size: 581 Bytes

Contents

module BankingData
  class Bank

    # goal: do something like:
    # BankingData::Bank.where(locale: :de).only(:bic)
    def self.where(options = {})
      locale = options.delete(:locale)
      if locale == 'DE' || locale == :de
        GermanBank.where(options)
      elsif locale == 'AT' || locale == :at
        AustrianBank.where(options)
      elsif locale == 'CH' || locale == :ch
        SwissBank.where(options)
      else
        self
      end
    end

    def self.only(*attributes)
      all.map { |bank| attributes.map { |attr| bank.send(attr) } }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
banking_data-0.2.0 lib/banking_data/bank.rb
banking_data-0.1.0 lib/banking_data/bank.rb