Class: PickyGuard::Loader

Inherits:
Object
  • Object
show all
Includes:
CanCan::Ability
Defined in:
lib/picky_guard/loader.rb

Direct Known Subclasses

Ability

Instance Method Summary collapse

Constructor Details

#initialize(user, *resources_whitelist) ⇒ Loader

Returns a new instance of Loader.



9
10
11
# File 'lib/picky_guard/loader.rb', line 9

def initialize(user, *resources_whitelist)
  @resources_whitelist = resources_whitelist
end

Instance Method Details

#adjust(user, user_role_checker_class, resource_actions_class, role_policies_class) ⇒ Object



13
14
15
16
17
18
# File 'lib/picky_guard/loader.rb', line 13

def adjust(user, user_role_checker_class, resource_actions_class, role_policies_class)
  validate_parameters(user_role_checker_class, resource_actions_class, role_policies_class)
  policies = gather_policies(user, user_role_checker_class, role_policies_class.new)
  statements = gather_statements(user, policies, resource_actions_class.new)
  adjust_statements(statements)
end