class Besepa::BankAccount
Constants
- FIELDS
Attributes
customer[RW]
mandate[RW]
Public Class Methods
klass_name()
click to toggle source
# File lib/besepa/bank_account.rb, line 18 def self.klass_name "bank_account" end
Protected Class Methods
api_path(filters={})
click to toggle source
# File lib/besepa/bank_account.rb, line 76 def self.api_path(filters={}) customer_id = filters[:customer_id] if customer_id "#{Customer.api_path}/#{CGI.escape(filters[:customer_id])}/bank_accounts" else '/bank_accounts' end end
query_params(filters = {})
click to toggle source
# File lib/besepa/bank_account.rb, line 70 def self.query_params(filters = {}) filters = filters.dup filters.delete(:customer_id) filters end
Public Instance Methods
generate_signature_request()
click to toggle source
# File lib/besepa/bank_account.rb, line 47 def generate_signature_request response = put "/#{api_path({customer_id: customer_id})}/generate_signature_request" process_attributes(response['response']) self end
replace(iban, bic, bank_name=nil, signature_type=nil, phone_number=nil, redirect_after_signature=nil)
click to toggle source
# File lib/besepa/bank_account.rb, line 28 def replace(iban, bic, bank_name=nil, signature_type=nil, phone_number=nil, redirect_after_signature=nil) payload = {} payload[self.class.klass_name] = { iban: iban, bic: bic, bank_name: bank_name, } if !signature_type.nil? payload[self.class.klass_name][:mandate] = { signature_type: signature_type, phone_number: phone_number, redirect_after_signature: redirect_after_signature, } end response = post "/#{api_path({customer_id: customer_id})}/replace", payload process_attributes(response['response']) self end
set_as_default()
click to toggle source
# File lib/besepa/bank_account.rb, line 22 def set_as_default response = put "/#{api_path({customer_id: customer_id})}/set_as_default" process_attributes(response['response']) self end
stats()
click to toggle source
# File lib/besepa/bank_account.rb, line 63 def stats response = get "#{api_path}/stats" response['response'] end
to_hash()
click to toggle source
# File lib/besepa/bank_account.rb, line 53 def to_hash values = {} self.class::FIELDS.each do |key| values[key] = self.send("#{key.to_s}") end values[:mandate] = mandate.to_hash if mandate values[:customer] = customer.to_hash if customer values end
Protected Instance Methods
api_path(filters={})
click to toggle source
# File lib/besepa/bank_account.rb, line 86 def api_path(filters={}) "#{self.class.api_path(filters)}/#{CGI.escape(id)}" end
process_attributes(attrs)
click to toggle source
# File lib/besepa/bank_account.rb, line 90 def process_attributes(attrs) self.class::FIELDS.each do |key| self.send("#{key.to_s}=", attrs[key.to_s] || attrs[key.to_sym]) end self.mandate = Besepa::Mandate.new(attrs['mandate']) if attrs['mandate'] self.customer = Besepa::Customer.new(attrs['customer']) if attrs['customer'] process_activities(attrs) self end