Class: Passwordless::Context
- Inherits:
-
Object
- Object
- Passwordless::Context
- Defined in:
- lib/passwordless/context.rb
Instance Attribute Summary collapse
-
#resources ⇒ Object
readonly
Returns the value of attribute resources.
Instance Method Summary collapse
-
#initialize ⇒ Context
constructor
A new instance of Context.
- #path_for(session_or_authenticatable, **options) ⇒ Object
- #resource_for(session_or_authenticatable) ⇒ Object
- #url_for(session_or_authenticatable, **options) ⇒ Object
Constructor Details
#initialize ⇒ Context
Returns a new instance of Context.
23 24 25 |
# File 'lib/passwordless/context.rb', line 23 def initialize @resources = {} end |
Instance Attribute Details
#resources ⇒ Object (readonly)
Returns the value of attribute resources.
27 28 29 |
# File 'lib/passwordless/context.rb', line 27 def resources @resources end |
Instance Method Details
#path_for(session_or_authenticatable, **options) ⇒ Object
47 48 49 |
# File 'lib/passwordless/context.rb', line 47 def path_for(session_or_authenticatable, **) url_for(session_or_authenticatable, only_path: true, **) end |
#resource_for(session_or_authenticatable) ⇒ Object
29 30 31 32 33 34 35 |
# File 'lib/passwordless/context.rb', line 29 def resource_for(session_or_authenticatable) if session_or_authenticatable.is_a?(Session) session_or_authenticatable = session_or_authenticatable.authenticatable.model_name.to_s.tableize.to_sym end resources[session_or_authenticatable.to_sym] end |
#url_for(session_or_authenticatable, **options) ⇒ Object
37 38 39 40 41 42 43 44 45 |
# File 'lib/passwordless/context.rb', line 37 def url_for(session_or_authenticatable, **) unless (resource = resource_for(session_or_authenticatable)) raise ArgumentError, "No resource registered for #{session_or_authenticatable}" end Rails.application.routes.url_helpers.url_for( resource.defaults.merge() ) end |