Module: Ramaze::Helper::UserHelper
- Defined in:
- lib/ramaze/helper/user.rb
Overview
This helper provides a convenience wrapper for handling authentication and persistence of users.
On every request, when you use the #user method for the first time, we confirm the authentication and store the returned object in the request.env, usually this will involve a request to your database.
On every request it checks authentication again and retrieves the model, we are not using a normal cache for this as it may lead to behaviour that is very hard to predict and debug.
You can however, add your own caching quite easily.
TODO: convert the examples into real examples with specs
Defined Under Namespace
Classes: Wrapper
Constant Summary
- RAMAZE_HELPER_USER =
Using this as key in request.env
'ramaze.helper.user'.freeze
Instance Method Summary (collapse)
-
- (true false) logged_in?
Whether the user is logged in already.
-
- (Ramaze::Helper::User::Wrapper) user
Use this method in your application, but do not use it in conditionals as it will never be nil or false.
-
- (nil Hash) user_login(creds = request.params)
shortcut for user._login but default argument are request.params.
-
- (nil) user_logout
shortcut for user._logout.
Instance Method Details
- (true false) logged_in?
Whether the user is logged in already.
157 158 159 |
# File 'lib/ramaze/helper/user.rb', line 157 def logged_in? user._logged_in? end |
- (Ramaze::Helper::User::Wrapper) user
Use this method in your application, but do not use it in conditionals as it will never be nil or false.
112 113 114 115 116 117 118 119 120 |
# File 'lib/ramaze/helper/user.rb', line 112 def user env = request.env found = env[RAMAZE_HELPER_USER] return found if found model, callback = ancestral_trait.values_at(:user_model, :user_callback) model ||= ::User unless callback env[RAMAZE_HELPER_USER] = Wrapper.new(model, callback) end |
- (nil Hash) user_login(creds = request.params)
shortcut for user._login but default argument are request.params
133 134 135 |
# File 'lib/ramaze/helper/user.rb', line 133 def user_login(creds = request.params) user._login(creds) end |
- (nil) user_logout
shortcut for user._logout
146 147 148 |
# File 'lib/ramaze/helper/user.rb', line 146 def user_logout user._logout end |