a21e98fa80e831d2d6ee8a16ea0d28d714efd9a0
[depot.git] / escape_skipping_slashes.rb
1 module ActiveSupport #:nodoc:
2 module CoreExtensions #:nodoc:
3 module CGI #:nodoc:
4 module EscapeSkippingSlashes #:nodoc:
5 def escape_skipping_slashes(str)
6 str = str.join('/') if str.respond_to? :join
7 str.gsub(/([^ \/a-zA-Z0-9_.-])/n) do
8 "%#{$1.unpack('H2').first.upcase}"
9 end.tr(' ', '+')
10 end
11 end
12 end
13 end
14 end