Module: Spree::ReimbursementType::ReimbursementHelpers
- Included in:
- Credit, OriginalPayment, StoreCredit
- Defined in:
- app/models/spree/reimbursement_type/reimbursement_helpers.rb
Instance Attribute Summary collapse
-
#eligible_refund_methods ⇒ Object
Ordered list of payment methods that are valid for the reimbursement type to use for reimbursing.
Instance Method Summary collapse
- #create_credits(reimbursement, unpaid_amount, simulate, reimbursement_list = [], created_by:) ⇒ Object
- #create_refunds(reimbursement, payments, unpaid_amount, simulate, reimbursement_list = []) ⇒ Object
Instance Attribute Details
#eligible_refund_methods ⇒ Object
Ordered list of payment methods that are valid for the reimbursement type to use for reimbursing. Leaving this nil allows anything.
7 8 9 |
# File 'app/models/spree/reimbursement_type/reimbursement_helpers.rb', line 7 def eligible_refund_methods @eligible_refund_methods end |
Instance Method Details
#create_credits(reimbursement, unpaid_amount, simulate, reimbursement_list = [], created_by:) ⇒ Object
23 24 25 26 27 28 29 |
# File 'app/models/spree/reimbursement_type/reimbursement_helpers.rb', line 23 def create_credits(reimbursement, unpaid_amount, simulate, reimbursement_list = [], created_by:) credits = [create_credit(reimbursement, unpaid_amount, simulate, created_by:)] unpaid_amount -= credits.sum(&:amount) reimbursement_list += credits [reimbursement_list, unpaid_amount] end |
#create_refunds(reimbursement, payments, unpaid_amount, simulate, reimbursement_list = []) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'app/models/spree/reimbursement_type/reimbursement_helpers.rb', line 9 def create_refunds(reimbursement, payments, unpaid_amount, simulate, reimbursement_list = []) payments = sorted_eligible_refund_payments(payments) payments.map do |payment| break if unpaid_amount <= 0 next unless payment.can_credit? amount = [unpaid_amount, payment.credit_allowed].min reimbursement_list << create_refund(reimbursement, payment, amount, simulate) unpaid_amount -= amount end [reimbursement_list, unpaid_amount] end |