Class: Spree::Refund

Inherits:
Object
  • Object
show all
Includes:
Metadata, Metafields, Security::Refunds
Defined in:
app/models/spree/refund.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Metadata

#metadata, #metadata=, #public_metadata=

Instance Attribute Details

#responseObject (readonly)

Returns the value of attribute response.



35
36
37
# File 'app/models/spree/refund.rb', line 35

def response
  @response
end

Class Method Details

.total_amount_reimbursed_for(reimbursement) ⇒ Object



49
50
51
# File 'app/models/spree/refund.rb', line 49

def total_amount_reimbursed_for(reimbursement)
  reimbursement.refunds.to_a.sum(&:amount)
end

Instance Method Details

#amount=(amount) ⇒ Object



39
40
41
# File 'app/models/spree/refund.rb', line 39

def amount=(amount)
  self[:amount] = Spree::LocalizedNumber.parse(amount)
end

#descriptionObject



54
55
56
# File 'app/models/spree/refund.rb', line 54

def description
  payment.payment_method.name
end

#editable?Boolean

Returns true if the refund is editable.

Returns:



70
71
72
# File 'app/models/spree/refund.rb', line 70

def editable?
  !payment.order.canceled?
end

#moneyObject Also known as: display_amount



43
44
45
# File 'app/models/spree/refund.rb', line 43

def money
  Spree::Money.new(amount, currency: currency)
end

#return_itemsArray<Spree::ReturnItem>

return items for the refund

Returns:



61
62
63
64
65
# File 'app/models/spree/refund.rb', line 61

def return_items
  return [] unless reimbursement.present?

  reimbursement.customer_return&.return_items || reimbursement.return_items
end