Module: ActionPolicy::Policy::Authorization::ClassMethods

Defined in:
lib/action_policy/policy/authorization.rb

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#authorization_targetsObject



75
76
77
78
79
80
81
82
83
# File 'lib/action_policy/policy/authorization.rb', line 75

def authorization_targets
  return @authorization_targets if instance_variable_defined?(:@authorization_targets)

  @authorization_targets = if superclass.respond_to?(:authorization_targets)
    superclass.authorization_targets.dup
  else
    {}
  end
end

#authorize(*ids, allow_nil: false, optional: false) ⇒ Object



65
66
67
68
69
70
71
72
73
# File 'lib/action_policy/policy/authorization.rb', line 65

def authorize(*ids, allow_nil: false, optional: false)
  allow_nil ||= optional

  ids.each do |id|
    authorization_targets[id] = {allow_nil:, optional:}
  end

  attr_reader(*ids)
end