20 lines
		
	
	
		
			445 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			20 lines
		
	
	
		
			445 B
		
	
	
	
		
			Ruby
		
	
	
	
	
	
| require "pathname"
 | |
| 
 | |
| class Pathname
 | |
|   # extended to support common double extensions
 | |
|   def extname(path = to_s)
 | |
|     %r{(\.(dmg|tar|cpio|pax)\.(gz|bz2|lz|xz|Z|zip))$} =~ path
 | |
|     return Regexp.last_match(1) if Regexp.last_match(1)
 | |
|     File.extname(path)
 | |
|   end
 | |
| 
 | |
|   # https://bugs.ruby-lang.org/issues/9915
 | |
|   if RUBY_VERSION == "2.0.0"
 | |
|     prepend Module.new {
 | |
|       def inspect
 | |
|         super.force_encoding(@path.encoding)
 | |
|       end
 | |
|     }
 | |
|   end
 | |
| end
 | 
