Monkey-patch Paperclip to perform URL escaping in a slightly more
appropriate way, and get rid of runtime deprecation warnings.
Bundler.require(*Rails.groups)
require_relative '../app/lib/exceptions'
+require_relative '../lib/paperclip/url_generator_extensions'
require_relative '../lib/paperclip/attachment_extensions'
require_relative '../lib/paperclip/lazy_thumbnail'
require_relative '../lib/paperclip/gif_transcoder'
--- /dev/null
+# 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)