Module: ErpInvoicing::Extensions::ActiveRecord::HasPaymentApplications::InstanceMethods

Defined in:
lib/erp_invoicing/extensions/active_record/has_payment_applications.rb

Instance Method Summary collapse

Instance Method Details

#get_payment_applications(status = :all) ⇒ Object



33
34
35
36
37
38
39
40
41
42
# File 'lib/erp_invoicing/extensions/active_record/has_payment_applications.rb', line 33

def get_payment_applications(status=:all)
  case status.to_sym
    when :pending
      payment_applications.pending
    when :successful
      payment_applications.successful
    when :all
      payment_applications
  end
end

#has_payments?(status = :all) ⇒ Boolean

Returns:

  • (Boolean)


44
45
46
47
# File 'lib/erp_invoicing/extensions/active_record/has_payment_applications.rb', line 44

def has_payments?(status=:all)
  selected_payment_applications = self.get_payment_applications(status)
  !(selected_payment_applications.nil? or selected_payment_applications.empty?)
end

#total_paymentsObject



49
50
51
# File 'lib/erp_invoicing/extensions/active_record/has_payment_applications.rb', line 49

def total_payments
  self.get_payment_applications(:successful).sum { |item| item.money.amount }
end

#total_pending_paymentsObject



53
54
55
# File 'lib/erp_invoicing/extensions/active_record/has_payment_applications.rb', line 53

def total_pending_payments
  self.payment_applications.pending.sum{|item| item.money.amount}
end