1edb3771a26be921d0e7f5b10f0d69a966c5899a
1 module ActiveSupport
#:nodoc:
2 module CoreExtensions
#:nodoc:
4 module EscapeSkippingSlashes
#:nodoc:
5 if RUBY_VERSION >= '1.9'
6 def escape_skipping_slashes(str
)
7 str
= str
.join('/') if str
.respond_to
? :join
8 str
.gsub(/([^ \/a-zA-Z0-9_
.-])/n
) do
9 "%#{$1.unpack('H2' * $1.bytesize).join('%').upcase}"
13 def escape_skipping_slashes(str
)
14 str
= str
.join('/') if str
.respond_to
? :join
15 str
.gsub(/([^ \/a-zA-Z0-9_
.-])/n
) do
16 "%#{$1.unpack('H2').first.upcase}"