catstodon/lib/paperclip/url_generator_extensions.rb

18 lines
489 B
Ruby
Raw Normal View History

# 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)