Fix Paperclip using deprecated URI.escape function (#13320)
Monkey-patch Paperclip to perform URL escaping in a slightly more appropriate way, and get rid of runtime deprecation warnings.master
parent
d88480da4a
commit
6c79b7237e
@ -0,0 +1,17 @@ |
||||
# frozen_string_literal: true |
||||
|
||||
module Paperclip |
||||
module UrlGeneratorExtensions |
||||
# Monkey-patch Paperclip to use Addressable::URI's normalization instead |
||||
# of the long-deprecated URI.esacpe |
||||
def escape_url(url) |
||||
if url.respond_to?(:escape) |
||||
url.escape |
||||
else |
||||
Addressable::URI.parse(url).normalize.to_str.gsub(escape_regex) { |m| "%#{m.ord.to_s(16).upcase}" } |
||||
end |
||||
end |
||||
end |
||||
end |
||||
|
||||
Paperclip::UrlGenerator.prepend(Paperclip::UrlGeneratorExtensions) |
Loading…
Reference in new issue