Class: Spree::CustomerReturn

Inherits:
Base
  • Object
show all
Extended by:
DisplayMoney
Includes:
Metadata, NumberIdentifier, Webhooks::HasWebhooks
Defined in:
app/models/spree/customer_return.rb

Instance Method Summary collapse

Methods included from DisplayMoney

money_methods

Methods inherited from Base

belongs_to_required_by_default, for_store, has_many_inversing, json_api_columns, json_api_permitted_attributes, json_api_type, page, spree_base_scopes, spree_base_uniqueness_scope

Methods included from Preferences::Preferable

#clear_preferences, #default_preferences, #defined_preferences, #deprecated_preferences, #get_preference, #has_preference!, #has_preference?, #preference_default, #preference_deprecated, #preference_type, #set_preference

Instance Method Details

#completely_decided?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/spree/customer_return.rb', line 33

def completely_decided?
  !return_items.undecided.exists?
end

#currencyObject



41
42
43
# File 'app/models/spree/customer_return.rb', line 41

def currency
  order&.currency
end

#fully_reimbursed?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/models/spree/customer_return.rb', line 37

def fully_reimbursed?
  completely_decided? && return_items.accepted.includes(:reimbursement).all? { |return_item| return_item.reimbursement.try(:reimbursed?) }
end

#orderObject

Temporarily tie a customer_return to one order



46
47
48
49
50
# File 'app/models/spree/customer_return.rb', line 46

def order
  return nil if return_items.blank?

  return_items.first.inventory_unit.order
end

#pre_tax_totalObject



52
53
54
# File 'app/models/spree/customer_return.rb', line 52

def pre_tax_total
  return_items.sum(:pre_tax_amount)
end