Class: CanTango::PermissionEngine::Collector

Inherits:
Object
  • Object
show all
Defined in:
lib/cantango/permission_engine/collector.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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, permissions, type
  @ability = ability
  @permissions = permissions
  @type = type
end

Instance Attribute Details

#abilityObject (readonly)

Returns the value of attribute ability.



4
5
6
# File 'lib/cantango/permission_engine/collector.rb', line 4

def ability
  @ability
end

#permissionsObject (readonly)

Returns the value of attribute permissions.



4
5
6
# File 'lib/cantango/permission_engine/collector.rb', line 4

def permissions
  @permissions
end

#typeObject (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

#buildObject



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_rulesObject



18
19
20
# File 'lib/cantango/permission_engine/collector.rb', line 18

def relevant_rules
  selector.select permissions
end

#role_groups_listObject



26
27
28
# File 'lib/cantango/permission_engine/collector.rb', line 26

def role_groups_list
  ability.role_groups
end

#roles_listObject



30
31
32
# File 'lib/cantango/permission_engine/collector.rb', line 30

def roles_list
  ability.roles
end

#selectorObject



22
23
24
# File 'lib/cantango/permission_engine/collector.rb', line 22

def selector
  CanTango::PermissionEngine::Selector.create type, self
end

#userObject



34
35
36
# File 'lib/cantango/permission_engine/collector.rb', line 34

def user
  ability.user
end

#user_accountObject Also known as: account



38
39
40
# File 'lib/cantango/permission_engine/collector.rb', line 38

def 
  ability.
end

#user_key_fieldObject



43
44
45
# File 'lib/cantango/permission_engine/collector.rb', line 43

def user_key_field
  ability.user_key_field
end