lib/action_policy/behaviour.rb in action_policy-0.3.4 vs lib/action_policy/behaviour.rb in action_policy-0.4.0
- old
+ new
@@ -36,10 +36,12 @@
# Raises `ActionPolicy::Unauthorized` if check failed.
def authorize!(record = :__undef__, to:, **options)
record = implicit_authorization_target! if record == :__undef__
raise ArgumentError, "Record must be specified" if record.nil?
+ options[:context] && (options[:context] = authorization_context.merge(options[:context]))
+
policy = policy_for(record: record, **options)
Authorizer.call(policy, authorization_rule_for(policy, to))
end
@@ -47,9 +49,11 @@
#
# Returns true of false.
def allowed_to?(rule, record = :__undef__, **options)
record = implicit_authorization_target! if record == :__undef__
raise ArgumentError, "Record must be specified" if record.nil?
+
+ options[:context] && (options[:context] = authorization_context.merge(options[:context]))
policy = policy_for(record: record, **options)
policy.apply(authorization_rule_for(policy, rule))
end