Class: CurrentSession::AuthMethod
- Inherits:
-
Object
- Object
- CurrentSession::AuthMethod
- Defined in:
- lib/current_session/auth_method.rb
Overview
Base class for providing auth methods
Direct Known Subclasses
Defined Under Namespace
Classes: FindBy, FindOrCreateBy
Instance Attribute Summary collapse
-
#request ⇒ Object
readonly
Returns the value of attribute request.
Class Method Summary collapse
Instance Method Summary collapse
- #auth ⇒ Object
-
#initialize(request) ⇒ AuthMethod
constructor
A new instance of AuthMethod.
Constructor Details
#initialize(request) ⇒ AuthMethod
Returns a new instance of AuthMethod.
37 38 39 |
# File 'lib/current_session/auth_method.rb', line 37 def initialize(request) @request = request end |
Instance Attribute Details
#request ⇒ Object (readonly)
Returns the value of attribute request.
40 41 42 |
# File 'lib/current_session/auth_method.rb', line 40 def request @request end |
Class Method Details
.new_auth_class(auth_methods_module) ⇒ Object
24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/current_session/auth_method.rb', line 24 def self.new_auth_class(auth_methods_module) new_auth_class = if auth_methods_module.method_defined?(:find_by_auth) Class.new(CurrentSession::AuthMethod::FindBy) { include auth_methods_module } elsif auth_methods_module.method_defined?(:find_or_create_by_auth) Class.new(CurrentSession::AuthMethod::FindOrCreateBy) { include auth_methods_module } else fail NotImplementedError, "You must implement find_by_auth or find_or_create_by_auth" end new_auth_class.user_class = user_class new_auth_class end |
Instance Method Details
#auth ⇒ Object
42 43 44 |
# File 'lib/current_session/auth_method.rb', line 42 def auth request.env["omniauth.auth"] end |