Class: Rabarber::Core::Rule
- Inherits:
-
Object
- Object
- Rabarber::Core::Rule
- Defined in:
- lib/rabarber/core/rule.rb
Instance Method Summary collapse
- #dynamic_rules_followed?(controller_instance) ⇒ Boolean
-
#initialize(roles, context, dynamic_rule, negated_dynamic_rule) ⇒ Rule
constructor
A new instance of Rule.
- #roles_permitted?(roleable, controller_instance) ⇒ Boolean
- #verify_access(roleable, controller_instance) ⇒ Object
Constructor Details
#initialize(roles, context, dynamic_rule, negated_dynamic_rule) ⇒ Rule
10 11 12 13 14 15 |
# File 'lib/rabarber/core/rule.rb', line 10 def initialize(roles, context, dynamic_rule, negated_dynamic_rule) @roles = Array(roles) @context = context @dynamic_rule = dynamic_rule || DEFAULT_DYNAMIC_RULE @negated_dynamic_rule = negated_dynamic_rule || DEFAULT_NEGATED_DYNAMIC_RULE end |
Instance Method Details
#dynamic_rules_followed?(controller_instance) ⇒ Boolean
25 26 27 |
# File 'lib/rabarber/core/rule.rb', line 25 def dynamic_rules_followed?(controller_instance) execute_rule(controller_instance, @dynamic_rule) && !execute_rule(controller_instance, @negated_dynamic_rule) end |
#roles_permitted?(roleable, controller_instance) ⇒ Boolean
21 22 23 |
# File 'lib/rabarber/core/rule.rb', line 21 def roles_permitted?(roleable, controller_instance) @roles.empty? || roleable.has_role?(*@roles, context: resolve_context(controller_instance)) end |
#verify_access(roleable, controller_instance) ⇒ Object
17 18 19 |
# File 'lib/rabarber/core/rule.rb', line 17 def verify_access(roleable, controller_instance) roles_permitted?(roleable, controller_instance) && dynamic_rules_followed?(controller_instance) end |