Module: ActionPolicy::Policy::Aliases

Included in:
Base
Defined in:
lib/action_policy/policy/aliases.rb

Overview

Adds rules aliases support and ability to specify the default rule.

class ApplicationPolicy
  include ActionPolicy::Policy::Core
  prepend ActionPolicy::Policy::Aliases

  # define which rule to use if `authorize!` called with
  # unknown rule
  default_rule :manage?

  alias_rule :publish?, :unpublish?, to: :update?
end

Aliases are used only during ‘authorize!` call (and do not act like real aliases).

Aliases useful when combined with ‘CachedApply` (since we can cache only the target rule).

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Constant Summary collapse

DEFAULT =
:__default__

Class Method Summary collapse

Class Method Details

.prepended(base) ⇒ Object Also known as: included



26
27
28
29
# File 'lib/action_policy/policy/aliases.rb', line 26

def prepended(base)
  base.extend ClassMethods
  base.prepend InstanceMethods
end