22 lines
		
	
	
		
			623 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
		
			623 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# 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
 | 
						|
 | 
						|
    def for_as_default(style_name)
 | 
						|
      attachment_options[:interpolator].interpolate(default_url, @attachment, style_name)
 | 
						|
    end
 | 
						|
  end
 | 
						|
end
 | 
						|
 | 
						|
Paperclip::UrlGenerator.prepend(Paperclip::UrlGeneratorExtensions)
 |