# :nocov: RSpec::Matchers.define :permit do |action| match do |policy| policy.public_send("#{action}?") end failure_message do |policy| <<~STRING #{policy.class} does not permit #{action} on #{policy.record} for #{policy.user.inspect}. STRING end failure_message_when_negated do |policy| <<~STRING #{policy.class} does not forbid #{action} on #{policy.record} for #{policy.user.inspect}. STRING end end # :nocov: