Class: SpreeCmCommissioner::Orders::Find

Inherits:
Object
  • Object
show all
Defined in:
app/finders/spree_cm_commissioner/orders/find.rb

Instance Method Summary collapse

Instance Method Details

#execute(store:, user:, currency:, token: nil, state: nil) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'app/finders/spree_cm_commissioner/orders/find.rb', line 7

def execute(store:, user:, currency:, token: nil, state: nil)
  params = { store_id: store.id, currency: currency }
  params[:state] = state if state.present?

  return find_by_token(params, token) if token.present?
  return find_by_user(params, user) if user.present?

  nil
end

#find_by_token(params, token) ⇒ Object



17
18
19
20
# File 'app/finders/spree_cm_commissioner/orders/find.rb', line 17

def find_by_token(params, token)
  params[:token] = token
  scope.find_by(params)
end

#find_by_user(params, user) ⇒ Object



22
23
24
25
# File 'app/finders/spree_cm_commissioner/orders/find.rb', line 22

def find_by_user(params, user)
  params[:user_id] = user.id
  scope.order(created_at: :desc).find_by(params)
end