Module: Rabarber::Core::Access

Included in:
Permissions
Defined in:
lib/rabarber/core/access.rb

Instance Method Summary collapse

Instance Method Details

#access_granted?(roleable, action, controller_instance) ⇒ Boolean

Returns:

  • (Boolean)


6
7
8
# File 'lib/rabarber/core/access.rb', line 6

def access_granted?(roleable, action, controller_instance)
  controller_accessible?(roleable, controller_instance) || action_accessible?(roleable, action, controller_instance)
end

#action_accessible?(roleable, action, controller_instance) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
# File 'lib/rabarber/core/access.rb', line 16

def action_accessible?(roleable, action, controller_instance)
  action_rules[controller_instance.class][action].any? { _1.verify_access(roleable, controller_instance) }
end

#controller_accessible?(roleable, controller_instance) ⇒ Boolean

Returns:

  • (Boolean)


10
11
12
13
14
# File 'lib/rabarber/core/access.rb', line 10

def controller_accessible?(roleable, controller_instance)
  controller_rules.any? do |controller, rules|
    controller_instance.is_a?(controller) && rules.any? { _1.verify_access(roleable, controller_instance) }
  end
end