mirror of https://github.com/mastodon/mastodon
				
				
				
			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.pull/13323/head
							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