Patch CanCan deprecated keyword arguments

Solves an issue with use of deprecated positional args. The version of CanCan which fixes this is not currently compatible with OFN...
This commit is contained in:
Matt-Yorkley
2021-12-26 15:10:00 +00:00
parent 4dc2172dd2
commit aaf5d1ba38

View File

@@ -0,0 +1,12 @@
module CanCanUnauthorizedMessage
# Fix deprecated syntax calling I18n#translate (using keyword args) without using **
def unauthorized_message(action, subject)
keys = unauthorized_message_keys(action, subject)
variables = {:action => action.to_s}
variables[:subject] = (subject.class == Class ? subject : subject.class).to_s.underscore.humanize.downcase
message = I18n.translate(nil, **variables.merge(:scope => :unauthorized, :default => keys + [""]))
message.blank? ? nil : message
end
end
CanCan::Ability.prepend(CanCanUnauthorizedMessage)