Method: ActionPolicy::Controller#authorize!

Defined in:
lib/action_policy/rails/controller.rb

#authorize!(record = :__undef__, to: nil, **options) ⇒ Object

Authorize action against a policy.

Policy is inferred from record (unless explicitly specified through ‘with` option).

If action is not provided, it’s inferred from ‘action_name`.

If record is not provided, tries to infer the resource class from controller name (i.e. ‘controller_name.classify.safe_constantize`).

Raises ‘ActionPolicy::Unauthorized` if check failed.

Returns:

  • the policy record



50
51
52
53
54
55
56
57
# File 'lib/action_policy/rails/controller.rb', line 50

def authorize!(record = :__undef__, to: nil, **options)
  to ||= :"#{action_name}?"

  policy_record = super

  self.authorize_count += 1
  policy_record
end