Module: Composable::Pwdless::RouterHelpers

Defined in:
lib/composable/pwdless/router_helpers.rb

Instance Method Summary collapse

Instance Method Details

#composable_pwdless_for(resource, controller: nil, as: nil) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/composable/pwdless/router_helpers.rb', line 4

def composable_pwdless_for(resource, controller: nil, as: nil)
  as         ||= resource.to_s
  controller ||= "/composable/pwdless/auth"

  constraints(->(req) { (req.env["composable_pwdless_resource"] = resource.to_s).present? }) do
    scope resource.to_s, as: as do
      get   "/sign_in",  to: "#{controller}#new", as: :sign_in
      post  "/sign_in",  to: "#{controller}#create"
      put   "/sign_in",  to: "#{controller}#update"
      match "/sign_out", to: "#{controller}#destroy", via: :delete, as: :sign_out
    end
  end
end