Sha256: 4730a2b2785d4f804d9b205974da691dbea37a87c9ceddfbacf18a61dcf11ba5
Contents?: true
Size: 1.61 KB
Versions: 2
Compression:
Stored size: 1.61 KB
Contents
module SinatraMore module WardenHelpers # Returns the current authenticated user def current_user warden_handler.user end # Login the user through the specified warden strategy def authenticate_user! warden_handler.authenticate! end # Signs out the user def logout_user! warden_handler.logout end # Returns true if the user has authenticated def logged_in? warden_handler.authenticated? end # 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 def authenticated?(&block) if block_given? return '' unless logged_in? authenticated_content = capture_haml(&block) haml_concat(authenticated_content) else return logged_in? end end # 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 def unregistered?(&block) if block_given? return '' if logged_in? unregistered_content = capture_haml(&block) haml_concat(unregistered_content) else return !logged_in? end end # 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 def must_be_authorized!(failure_path=nil) redirect_to(failure_path ? failure_path : '/') unless authenticated? end # Returns the raw warden authentication handler def warden_handler request.env['warden'] end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sinatra_more-0.0.7 | lib/sinatra_more/warden_plugin/warden_helpers.rb |
sinatra_more-0.0.6 | lib/sinatra_more/warden_plugin/warden_helpers.rb |