Class: Spree::Authentication::Strategies::BaseStrategy

Inherits:
Object
  • Object
show all
Defined in:
app/models/spree/authentication/strategies/base_strategy.rb

Direct Known Subclasses

EmailPasswordStrategy

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(params:, request_env:, user_class: nil) ⇒ BaseStrategy

Returns a new instance of BaseStrategy.



7
8
9
10
11
# File 'app/models/spree/authentication/strategies/base_strategy.rb', line 7

def initialize(params:, request_env:, user_class: nil)
  @params = params
  @request_env = request_env
  @user_class = user_class || Spree.user_class
end

Instance Attribute Details

#paramsObject (readonly)

Returns the value of attribute params.



5
6
7
# File 'app/models/spree/authentication/strategies/base_strategy.rb', line 5

def params
  @params
end

#request_envObject (readonly)

Returns the value of attribute request_env.



5
6
7
# File 'app/models/spree/authentication/strategies/base_strategy.rb', line 5

def request_env
  @request_env
end

#user_classObject (readonly)

Returns the value of attribute user_class.



5
6
7
# File 'app/models/spree/authentication/strategies/base_strategy.rb', line 5

def user_class
  @user_class
end

Instance Method Details

#authenticateSpree::ServiceModule::Result

Returns Result object with user on success

Returns:

Raises:

  • (NotImplementedError)


15
16
17
# File 'app/models/spree/authentication/strategies/base_strategy.rb', line 15

def authenticate
  raise NotImplementedError, 'Subclass must implement #authenticate'
end

#providerString

Returns provider identifier (e.g., ‘google’, ‘email’)

Returns:

  • (String)

Raises:

  • (NotImplementedError)


21
22
23
# File 'app/models/spree/authentication/strategies/base_strategy.rb', line 21

def provider
  raise NotImplementedError, 'Subclass must implement #provider'
end