class Besepa::Payment

Constants

ALLOWED_NILS
FIELDS

Attributes

creditor_bank_account[RW]
customer[RW]
debtor_bank_account[RW]

Protected Class Methods

api_path(filters={}) click to toggle source
# File lib/besepa/payment.rb, line 40
def self.api_path(filters={})
  customer_id = filters[:customer_id]
  if customer_id
    "#{Customer.api_path}/#{CGI.escape(customer_id)}/payments"
  else
    '/payments'
  end
end
query_params(filters = {}) click to toggle source
# File lib/besepa/payment.rb, line 34
def self.query_params(filters = {})
  filters = filters.dup
  filters.delete(:customer_id)
  filters
end

Public Instance Methods

allowed_nils() click to toggle source
# File lib/besepa/payment.rb, line 28
def allowed_nils
  ALLOWED_NILS
end
to_hash() click to toggle source
# File lib/besepa/payment.rb, line 17
def to_hash
  values = {}
  self.class::FIELDS.each do |key|
    values[key] = self.send("#{key.to_s}")
  end
  values[:debtor_bank_account] = debtor_bank_account.to_hash if debtor_bank_account
  values[:creditor_bank_account] = creditor_bank_account.to_hash if creditor_bank_account
  values[:customer] = customer.to_hash if customer
  values
end

Protected Instance Methods

api_path(filters={}) click to toggle source
# File lib/besepa/payment.rb, line 49
def api_path(filters={})
  "#{self.class.api_path(filters)}/#{CGI.escape(id)}"
end
process_attributes(attrs) click to toggle source
# File lib/besepa/payment.rb, line 53
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.debtor_bank_account = Besepa::BankAccount.new(attrs['debtor_bank_account']) if attrs['debtor_bank_account']
  self.creditor_bank_account = Besepa::BusinessAccount.new(attrs['creditor_bank_account']) if attrs['creditor_bank_account']
  self.customer = Besepa::Customer.new(attrs['customer']) if attrs['customer']
  self
end