47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
|
# File 'lib/action_policy/policy/authorization.rb', line 47
def initialize(record = nil, **params)
super(record)
@authorization_context = {}
self.class.authorization_targets.each do |id, opts|
raise AuthorizationContextMissing, id unless params.key?(id) || opts[:optional]
val = params.fetch(id, nil)
raise AuthorizationContextMissing, id if val.nil? && opts[:allow_nil] != true
authorization_context[id] = instance_variable_set("@#{id}", val)
end
authorization_context.freeze
end
|