Class: Acl9::Dsl::Generators::FilterLambda
- Inherits:
-
BaseGenerator
- Object
- Base
- BaseGenerator
- Acl9::Dsl::Generators::FilterLambda
- Defined in:
- lib/acl9/controller_extensions/generators.rb
Constant Summary
Constants inherited from Base
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#initialize(subject_method) ⇒ FilterLambda
constructor
A new instance of FilterLambda.
- #install_on(controller_class, options) ⇒ Object
- #to_proc ⇒ Object
Methods inherited from Base
#acl_block!, #allowance_expression, #default_action
Constructor Details
#initialize(subject_method) ⇒ FilterLambda
Returns a new instance of FilterLambda.
59 60 61 62 63 |
# File 'lib/acl9/controller_extensions/generators.rb', line 59 def initialize(subject_method) super @controller = 'controller' end |
Instance Method Details
#install_on(controller_class, options) ⇒ Object
65 66 67 68 69 |
# File 'lib/acl9/controller_extensions/generators.rb', line 65 def install_on(controller_class, ) super controller_class.send(:before_filter, , &self.to_proc) end |
#to_proc ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'lib/acl9/controller_extensions/generators.rb', line 71 def to_proc code = <<-RUBY lambda do |controller| unless #{allowance_expression} #{_access_denied} end end RUBY self.instance_eval(code, __FILE__, __LINE__) rescue SyntaxError raise FilterSyntaxError, code end |