Class: Clearance::Constraints::SignedIn
- Inherits:
-
Object
- Object
- Clearance::Constraints::SignedIn
- Defined in:
- lib/clearance/constraints/signed_in.rb
Overview
Can be applied to make a set of routes visible only to users that are signed in.
# config/routes.rb
constraints Clearance::Constraints::SignedIn.new do
resources :posts
end
In the example above, requests to /posts
from users that are not signed
in will result in a 404. You can make additional assertions about the user
by passing a block. For instance, if you want to require that the
signed-in user be an admin:
# config/routes.rb
constraints Clearance::Constraints::SignedIn.new { |user| user.admin? } do
resources :posts
end
Instance Method Summary collapse
-
#initialize(&block) ⇒ SignedIn
constructor
A new instance of SignedIn.
- #matches?(request) ⇒ Boolean
Constructor Details
#initialize(&block) ⇒ SignedIn
Returns a new instance of SignedIn.
21 22 23 |
# File 'lib/clearance/constraints/signed_in.rb', line 21 def initialize(&block) @block = block || lambda { |user| true } end |
Instance Method Details
#matches?(request) ⇒ Boolean
25 26 27 28 |
# File 'lib/clearance/constraints/signed_in.rb', line 25 def matches?(request) @request = request signed_in? && current_user_fulfills_additional_requirements? end |