Module: WhurlEngine::Config
- Defined in:
- lib/whurl_engine/config.rb
Constant Summary collapse
- DEFAULT_AUTHORIZE =
Proc.new {}
- DEFAULT_CURRENT_USER =
Proc.new do request.env["warden"].try(:user) || respond_to?(:current_user) && current_user end
Class Method Summary collapse
-
.authorize_with(*args, &block) ⇒ Object
Setup authorization to be run as a before filter This is run inside the controller instance so you can setup any authorization you need to.
-
.current_user_method(&block) ⇒ Object
Setup a different method to determine the current user or admin logged in.
Class Method Details
.authorize_with(*args, &block) ⇒ Object
Setup authorization to be run as a before filter This is run inside the controller instance so you can setup any authorization you need to.
By default, there is no authorization.
To use an authorization adapter, pass the name of the adapter. For example, to use with CanCan, pass it like this.
See the wiki for more on authorization.
35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/whurl_engine/config.rb', line 35 def (*args, &block) extension = args.shift if(extension) @authorize = Proc.new { @authorization_adapter = WhurlEngine::AUTHORIZATION_ADAPTERS[extension].new(*([self] + args).compact) } else @authorize = block if block end @authorize || DEFAULT_AUTHORIZE end |
.current_user_method(&block) ⇒ Object
Setup a different method to determine the current user or admin logged in. This is run inside the controller instance and made available as a helper.
By default, _request.env.user_ or current_user will be used.
60 61 62 63 |
# File 'lib/whurl_engine/config.rb', line 60 def current_user_method(&block) @current_user = block if block @current_user || DEFAULT_CURRENT_USER end |