Module: ActionPolicy::Policy::Authorization::InstanceMethods

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

Overview

:nodoc:

Instance Method Summary collapse

Instance Method Details

#initialize(*args, **params) ⇒ Object



50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
# File 'lib/action_policy/policy/authorization.rb', line 50

def initialize(*args, **params)
  super(*args)

  @authorization_context = {}

  self.class.authorization_targets.each do |id, opts|
    raise AuthorizationContextMissing, id unless params.key?(id)

    val = params.fetch(id)

    raise AuthorizationContextMissing, id if val.nil? && opts[:allow_nil] != true

    authorization_context[id] = instance_variable_set("@#{id}", val)
  end

  authorization_context.freeze
end