Module | Ramaze::Helper::Stack |
In: |
lib/ramaze/helper/stack.rb
|
Provides an call/answer mechanism, this is useful for example in a login-system.
It is basically good to redirect temporarly somewhere else without forgetting where you come from and offering a nice way to get back to the last urls.
Example:
class AuthController < Controller
helper :stack def login pass if pass == 'password' session[:logged_in] = true answer '/' else "failed" end end def logged_in? !!session[:logged_in] end
end
class ImportantController < Controller
helper :stack def secret_information call :login unless logged_in? "Agent X is assigned to fight the RubyNinjas" end
end
return to the last location on session[:STACK] The optional alternative paramter will be used to redirect in case you are not inside_stack? If the session has no stack and no alternative is given this won‘t do anything