Module: Passwordless::RouterHelpers
- Defined in:
- lib/passwordless/router_helpers.rb
Overview
Helpers for generating passwordless routes.
Instance Method Summary collapse
-
#passwordless_for(resource, at: :na, as: :na, controller: "passwordless/sessions") ⇒ Object
Generates passwordless routes for a given Model Example usage: passwordless_for :users # or with options …
Instance Method Details
#passwordless_for(resource, at: :na, as: :na, controller: "passwordless/sessions") ⇒ Object
Generates passwordless routes for a given Model
Example usage:
passwordless_for :users
# or with options ...
passwordless_for :users, at: 'session_stuff', as: :user_session_things
# or with a custom controller ...
passwordless_for :users, controller: 'my_custom_controller'
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/passwordless/router_helpers.rb', line 24 def passwordless_for(resource, at: :na, as: :na, controller: "passwordless/sessions") at == :na && at = "/#{resource.to_s}" as == :na && as = resource.to_s as = as.to_s + "_" unless !as || as.to_s.end_with?("_") pwless_resource = Passwordless.add_resource(resource, controller: controller) scope(defaults: pwless_resource.defaults) do get("#{at}/sign_in", to: "#{controller}#new", as: :"#{as}sign_in") post("#{at}/sign_in", to: "#{controller}#create") get("#{at}/sign_in/:id", to: "#{controller}#show", as: :"verify_#{as}sign_in") get("#{at}/sign_in/:id/:token", to: "#{controller}#confirm", as: :"confirm_#{as}sign_in") patch("#{at}/sign_in/:id", to: "#{controller}#update") match("#{at}/sign_out", to: "#{controller}#destroy", via: %i[get delete], as: :"#{as}sign_out") end end |