Class: CanTango::PermissionEngine::Collector
- Inherits:
-
Object
- Object
- CanTango::PermissionEngine::Collector
- Defined in:
- lib/cantango/permission_engine/collector.rb
Instance Attribute Summary collapse
-
#ability ⇒ Object
readonly
Returns the value of attribute ability.
-
#permissions ⇒ Object
readonly
Returns the value of attribute permissions.
-
#type ⇒ Object
readonly
Returns the value of attribute type.
Instance Method Summary collapse
- #build ⇒ Object
-
#initialize(ability, permissions, type) ⇒ Collector
constructor
A new instance of Collector.
- #relevant_rules ⇒ Object
- #role_groups_list ⇒ Object
- #roles_list ⇒ Object
- #selector ⇒ Object
- #user ⇒ Object
- #user_account ⇒ Object (also: #account)
- #user_key_field ⇒ Object
Constructor Details
#initialize(ability, permissions, type) ⇒ Collector
Returns a new instance of Collector.
6 7 8 9 10 |
# File 'lib/cantango/permission_engine/collector.rb', line 6 def initialize ability, , type @ability = ability @permissions = @type = type end |
Instance Attribute Details
#ability ⇒ Object (readonly)
Returns the value of attribute ability.
4 5 6 |
# File 'lib/cantango/permission_engine/collector.rb', line 4 def ability @ability end |
#permissions ⇒ Object (readonly)
Returns the value of attribute permissions.
4 5 6 |
# File 'lib/cantango/permission_engine/collector.rb', line 4 def @permissions end |
#type ⇒ Object (readonly)
Returns the value of attribute type.
4 5 6 |
# File 'lib/cantango/permission_engine/collector.rb', line 4 def type @type end |
Instance Method Details
#build ⇒ Object
12 13 14 15 16 |
# File 'lib/cantango/permission_engine/collector.rb', line 12 def build relevant_rules.inject([]){|evaluators, (name, rules)| evaluators << CanTango::PermissionEngine::Evaluator.new(ability, rules) } end |
#relevant_rules ⇒ Object
18 19 20 |
# File 'lib/cantango/permission_engine/collector.rb', line 18 def relevant_rules selector.select end |
#role_groups_list ⇒ Object
26 27 28 |
# File 'lib/cantango/permission_engine/collector.rb', line 26 def role_groups_list ability.role_groups end |
#roles_list ⇒ Object
30 31 32 |
# File 'lib/cantango/permission_engine/collector.rb', line 30 def roles_list ability.roles end |
#selector ⇒ Object
22 23 24 |
# File 'lib/cantango/permission_engine/collector.rb', line 22 def selector CanTango::PermissionEngine::Selector.create type, self end |
#user ⇒ Object
34 35 36 |
# File 'lib/cantango/permission_engine/collector.rb', line 34 def user ability.user end |
#user_account ⇒ Object Also known as: account
38 39 40 |
# File 'lib/cantango/permission_engine/collector.rb', line 38 def user_account ability.user_account end |
#user_key_field ⇒ Object
43 44 45 |
# File 'lib/cantango/permission_engine/collector.rb', line 43 def user_key_field ability.user_key_field end |