Module: SinatraMore::WardenHelpers
- Defined in:
- lib/sinatra_more/warden_plugin/warden_helpers.rb
Instance Method Summary collapse
-
#authenticate_user! ⇒ Object
Login the user through the specified warden strategy.
-
#authenticated?(&block) ⇒ Boolean
If a block is given, only yields the content if the user is authenticated If no block is given, returns true if the user is logged in.
-
#current_user ⇒ Object
Returns the current authenticated user.
-
#logged_in? ⇒ Boolean
Returns true if the user has authenticated.
-
#logout_user! ⇒ Object
Signs out the user.
-
#must_be_authorized!(failure_path = nil) ⇒ Object
Forces a user to return to a fail path unless they are authorized Used to require a user be authenticated before routing to an action.
-
#unregistered?(&block) ⇒ Boolean
If a block is given, only yields the content if the user is unregistered If no block is given, returns true if the user is not logged in.
-
#warden_handler ⇒ Object
Returns the raw warden authentication handler.
Instance Method Details
#authenticate_user! ⇒ Object
Login the user through the specified warden strategy
9 10 11 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 9 def authenticate_user! warden_handler.authenticate! end |
#authenticated?(&block) ⇒ Boolean
If a block is given, only yields the content if the user is authenticated If no block is given, returns true if the user is logged in
25 26 27 28 29 30 31 32 33 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 25 def authenticated?(&block) if block_given? return '' unless logged_in? authenticated_content = capture_html(&block) concat_content(authenticated_content) else return logged_in? end end |
#current_user ⇒ Object
Returns the current authenticated user
4 5 6 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 4 def current_user warden_handler.user end |
#logged_in? ⇒ Boolean
Returns true if the user has authenticated
19 20 21 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 19 def logged_in? warden_handler.authenticated? end |
#logout_user! ⇒ Object
Signs out the user
14 15 16 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 14 def logout_user! warden_handler.logout end |
#must_be_authorized!(failure_path = nil) ⇒ Object
Forces a user to return to a fail path unless they are authorized Used to require a user be authenticated before routing to an action
49 50 51 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 49 def (failure_path=nil) redirect(failure_path ? failure_path : '/') unless authenticated? end |
#unregistered?(&block) ⇒ Boolean
If a block is given, only yields the content if the user is unregistered If no block is given, returns true if the user is not logged in
37 38 39 40 41 42 43 44 45 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 37 def unregistered?(&block) if block_given? return '' if logged_in? unregistered_content = capture_html(&block) concat_content(unregistered_content) else return !logged_in? end end |
#warden_handler ⇒ Object
Returns the raw warden authentication handler
54 55 56 |
# File 'lib/sinatra_more/warden_plugin/warden_helpers.rb', line 54 def warden_handler request.env['warden'] end |