class Besepa::Debit

Constants

ALLOWED_NILS
FIELDS

Attributes

creditor_bank_account[RW]
customer[RW]
debtor_bank_account[RW]
remittance[RW]
subscription[RW]

Protected Class Methods

api_path(filters={}) click to toggle source
# File lib/besepa/debit.rb, line 48
def self.api_path(filters={})
  customer_id = filters[:customer_id]
  if customer_id
    "#{Customer.api_path}/#{CGI.escape(customer_id)}/debits"
  else
    '/debits'
  end
end
query_params(filters = {}) click to toggle source
# File lib/besepa/debit.rb, line 42
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/debit.rb, line 36
def allowed_nils
  ALLOWED_NILS
end
to_hash() click to toggle source
# File lib/besepa/debit.rb, line 23
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[:remittance] = remittance.to_hash if remittance
  values[:subscription] = subscription.to_hash if subscription
  values
end

Protected Instance Methods

api_path(filters={}) click to toggle source
# File lib/besepa/debit.rb, line 57
def api_path(filters={})
  "#{self.class.api_path(filters)}/#{CGI.escape(id)}"
end
process_attributes(attrs) click to toggle source
# File lib/besepa/debit.rb, line 61
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.remittance = Besepa::Remittance.new(attrs['remittance']) if attrs['remittance']
  self.subscription = Besepa::Subscription.new(attrs['subscription']) if attrs['subscription']
  process_activities(attrs)
  self
end