diff options
Diffstat (limited to 'lib/uri/common.rb')
-rw-r--r-- | lib/uri/common.rb | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/uri/common.rb b/lib/uri/common.rb index ccf57bd93b..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 = '' @@ -542,7 +546,7 @@ module URI # require "uri" # # URI.extract("text here http://foo.example.org/bla and here mailto:test@example.com and here also.") - # # => ["http://foo.example.org/bla", "mailto:test@example.com"] + # # => ["http://foo.example.com/bla", "mailto:test@example.com"] # def self.extract(str, schemes = nil, &block) if block_given? |