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
-
#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.
-
#last_incomplete_spree_order(store: nil, only_frontend_viewable: true) ⇒ Spree::Order
since the customer’s last complete order.
- #total_available_store_credit ⇒ Object
Methods included from UserReporting
#average_order_value, #lifetime_value, #order_count
Methods included from DisplayMoney
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.
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.
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_credit ⇒ Object
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 |