Konto API Rails Validator¶ ↑
This library is a wrapper for the Konto API (www.kontoapi.de/). It provides a validation method for ActiveRecord models that checks if a given account number and bank code represent a valid combination.
INSTALLATION¶ ↑
$ [sudo] gem install kontoapi-rails
USAGE¶ ↑
Add an initializer (e.g. kontoapi.rb) in config/initializers
:
KontoAPI.setup do |config| # mandatory config.api_key = '<your-api-key>' # get one at https://www.kontoapi.de/ # optional (with defaults) config.timeout = 10 config.disable_for = ['development', 'test'] end
Then, in one of the models you want to validate bank account data with:
class PaymentData < ActiveRecord::Base # other validations validates :account_number, :bank_code, :presence => true # account data validation # (really just a shortcut for `validates_with KontoAPI::BankAccountValidator`) # Takes any of the following options (the defaults are shown here): # :account_number_field => :account_number, # :bank_code_field => :bank_code, # :allow_nil => true, <-- don't validate if one of them is nil # :on_timeout => :ignore <-- do nothing if a timeout occurs, others: # :fail <-- throw a validation error # :retry <-- (not supported yet) # # If validations fails, an error within the standard ActiveRecord I18n scopes # will be added to the :account_number_field: # :invalid <-- if it is invalid # :timeout <-- if :on_timeout is set to :fail and the api call timed out validates_bank_account # IBAN validation # Check if the given IBAN is valid # Takes any of the following options (the defaults are shown here): # :allow_nil => true, <-- don't validate if nil # :on_timeout => :ignore <-- do nothing if a timeout occurs, others: # :fail <-- throw a validation error # :retry <-- (not supported yet) validates_iban :iban # BIC validation # Check if the given BIC exists # Takes any of the following options (the defaults are shown here): # :allow_nil => true, <-- don't validate if nil # :on_timeout => :ignore <-- do nothing if a timeout occurs, others: # :fail <-- throw a validation error # :retry <-- (not supported yet) validates_bic :bic # Combined IBAN & BIC validation # Check if the given BIC exists, the IBAN is valid and if they match # Takes any of the following options (the defaults are shown here): # :allow_nil => true, <-- don't validate if both are nil # :on_timeout => :ignore <-- do nothing if a timeout occurs, others: # :fail <-- throw a validation error # :retry <-- (not supported yet) validates_iban_and_bic :iban, :bic end
And if you want to autocomplete the bank name:
class PaymentData < ActiveRecord::Base # bank name autocompletion # takes any of the following options (the defaults are shown here): # :bank_code_field => :bank_code, # :bank_name_field => :bank_name, # :always_overwrite => false, <-- autocomplete even if bank name already present # :on_timeout => :ignore <-- do nothing if a timeout occurs, others: # :retry <-- (not supported yet) # 'any string' <-- use this string as the value autocomplete_bank_name end
Copyright¶ ↑
Copyright © 2011-2013 General Scripting UG (haftungsbeschränkt). See LICENSE for further details.