Module: Spree::UserMethods

Extended by:
ActiveSupport::Concern
Includes:
UserAddress, UserApiAuthentication, UserPaymentSource, UserReporting
Included in:
LegacyUser
Defined in:
app/models/concerns/spree/user_methods.rb

Instance Method Summary collapse

Methods included from UserReporting

#average_order_value, #lifetime_value, #order_count

Methods included from DisplayMoney

#money_methods

Methods included from UserApiAuthentication

#clear_spree_api_key!, #generate_spree_api_key!

Instance Method Details

#has_spree_role?(role_in_question) ⇒ Boolean

has_spree_role? simply needs to return true or false whether a user has a role or not.

Returns:

  • (Boolean)


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

def has_spree_role?(role_in_question)
  spree_roles.any? { |role| role.name == role_in_question.to_s }
end

#last_incomplete_spree_order(store: nil, only_frontend_viewable: true) ⇒ Spree::Order

since the customer’s last complete order.

Returns:

  • (Spree::Order)

    the most-recently-created incomplete order



45
46
47
48
49
50
51
# File 'app/models/concerns/spree/user_methods.rb', line 45

def last_incomplete_spree_order(store: nil, only_frontend_viewable: true)
  self_orders = self.orders
  self_orders = self_orders.where(frontend_viewable: true) if only_frontend_viewable
  self_orders = self_orders.where(store: store) if store
  last_order = self_orders.order(:created_at).last
  last_order unless last_order.try!(:completed?)
end

#total_available_store_creditObject



53
54
55
# File 'app/models/concerns/spree/user_methods.rb', line 53

def total_available_store_credit
  store_credits.reload.to_a.sum{ |credit| credit.amount_remaining }
end