diff options
author | Thibaut Girka <thib@sitedethib.com> | 2020-03-27 21:54:44 +0100 |
---|---|---|
committer | Thibaut Girka <thib@sitedethib.com> | 2020-03-27 21:54:44 +0100 |
commit | 7b435fd9bf81265241fab792d8e8e0c2f4f1b619 (patch) | |
tree | ef366f436ed5180489cc9377268e10328fe9a932 /lib/paperclip/url_generator_extensions.rb | |
parent | 02f1c04fabab221130de8dfb5611be81825b193b (diff) | |
parent | 6c79b7237e31eb510af7df3f4f2cb133dea39845 (diff) |
Merge branch 'master' into glitch-soc/merge-upstream
Conflicts: - `app/services/post_status_service.rb`: CW/sensitive logic fixed upstream, but different in glitch-soc. Ported the changes accordingly.
Diffstat (limited to 'lib/paperclip/url_generator_extensions.rb')
-rw-r--r-- | lib/paperclip/url_generator_extensions.rb | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/lib/paperclip/url_generator_extensions.rb b/lib/paperclip/url_generator_extensions.rb new file mode 100644 index 000000000..1079efdbc --- /dev/null +++ b/lib/paperclip/url_generator_extensions.rb @@ -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) |