Class: Rabarber::Core::Permissions
- Inherits:
-
Object
- Object
- Rabarber::Core::Permissions
show all
- Extended by:
- Access
- Includes:
- Singleton
- Defined in:
- lib/rabarber/core/permissions.rb
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Access
access_granted?, action_accessible?, controller_accessible?
Constructor Details
Returns a new instance of Permissions.
15
16
17
18
19
20
|
# File 'lib/rabarber/core/permissions.rb', line 15
def initialize
@storage = {
controller_rules: Hash.new { |h, k| h[k] = [] },
action_rules: Hash.new { |h1, k1| h1[k1] = Hash.new { |h2, k2| h2[k2] = [] } }
}
end
|
Instance Attribute Details
#storage ⇒ Object
Returns the value of attribute storage.
13
14
15
|
# File 'lib/rabarber/core/permissions.rb', line 13
def storage
@storage
end
|
Class Method Details
.action_rules ⇒ Object
32
33
34
|
# File 'lib/rabarber/core/permissions.rb', line 32
def action_rules
instance.storage[:action_rules]
end
|
.add(controller, action, roles, context, dynamic_rule, negated_dynamic_rule) ⇒ Object
23
24
25
26
|
# File 'lib/rabarber/core/permissions.rb', line 23
def add(controller, action, roles, context, dynamic_rule, negated_dynamic_rule)
rule = Rabarber::Core::Rule.new(roles, context, dynamic_rule, negated_dynamic_rule)
action ? action_rules[controller][action] << rule : controller_rules[controller] << rule
end
|
.controller_rules ⇒ Object
28
29
30
|
# File 'lib/rabarber/core/permissions.rb', line 28
def controller_rules
instance.storage[:controller_rules]
end
|
.reset! ⇒ Object
36
37
38
39
|
# File 'lib/rabarber/core/permissions.rb', line 36
def reset!
instance.storage[:controller_rules].clear
instance.storage[:action_rules].clear
end
|