diff options
author | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-11-13 02:02:24 +0000 |
---|---|---|
committer | aamine <aamine@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2005-11-13 02:02:24 +0000 |
commit | 31f8181095ad815fa9fba25a10518bd46772c3ea (patch) | |
tree | 4f3725766fb4e6cf945de33f4cb0a1b10a8ca139 | |
parent | 03ab81258512ed3ddc46c7e01f66fc3252e22c45 (diff) | |
download | ruby-31f8181095ad815fa9fba25a10518bd46772c3ea.tar.gz |
* lib/uri/common.rb (escape): regard second argument as a character set. [ruby-dev:27692]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@9532 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/uri/common.rb | 6 |
2 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,8 @@ +Sun Nov 13 10:55:24 2005 Minero Aoki <aamine@loveruby.net> + + * lib/uri/common.rb (escape): regard second argument as a + character set. [ruby-dev:27692] + Sat Nov 12 08:36:40 2005 Nobuyoshi Nakada <nobu@ruby-lang.org> * configure.in, eval.c, intern.h: check fd_mask type. diff --git a/lib/uri/common.rb b/lib/uri/common.rb index 2263fbddde..f74f0eb2e1 100644 --- a/lib/uri/common.rb +++ b/lib/uri/common.rb @@ -261,6 +261,7 @@ module URI # +unsafe+:: # Regexp that matches all symbols that must be replaced with codes. # By default uses <tt>REGEXP::UNSAFE</tt>. + # When this argument is a String, it represents a character set. # # == Description # @@ -277,10 +278,13 @@ module URI # p URI.unescape(enc_uri) # # => "http://example.com/?a=\t\r" # + # p URI.escape("@?@!", "!?") + # # => "@%3F@%21" + # def escape(str, unsafe = UNSAFE) unless unsafe.kind_of?(Regexp) # perhaps unsafe is String object - unsafe = Regexp.new(Regexp.quote(unsafe), false, 'N') + unsafe = Regexp.new("[#{Regexp.quote(unsafe)}]", false, 'N') end str.gsub(unsafe) do |us| tmp = '' |