Permalink
Browse files

* lib/uri.rb: Add toplevel documentation. Patch by Vincent Batts.

	  [Ruby 1.9 - Bug #4690]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@31555 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information...
1 parent cb57042 commit 10219ff6216c9d6459026e9e89ed788e2d440dc5 @drbrain drbrain committed May 13, 2011
Showing with 115 additions and 13 deletions.
  1. +5 −0 ChangeLog
  2. +86 −4 lib/uri.rb
  3. +5 −2 lib/uri/common.rb
  4. +2 −1 lib/uri/ftp.rb
  5. +2 −2 lib/uri/generic.rb
  6. +2 −1 lib/uri/http.rb
  7. +2 −1 lib/uri/https.rb
  8. +2 −1 lib/uri/ldap.rb
  9. +7 −0 lib/uri/ldaps.rb
  10. +2 −1 lib/uri/mailto.rb
View
@@ -1,3 +1,8 @@
+Sat May 14 05:02:58 2011 Eric Hodel <drbrain@segment7.net>
+
+ * lib/uri.rb: Add toplevel documentation. Patch by Vincent Batts.
+ [Ruby 1.9 - Bug #4690]
+
Sat May 14 04:19:06 2011 Martin Bosslet <Martin.Bosslet@googlemail.com>
* NEWS: Describe altered behaviour for RSA and DSA public key
View
@@ -1,15 +1,97 @@
+# URI is a module providing classes to handle Uniform Resource Identifiers
+# (RFC2396[http://tools.ietf.org/html/rfc2396])
#
-# URI support for Ruby
+# == Features
+#
+# * Uniform handling of handling URIs
+# * Flexibility to introduce custom URI schemes
+# * Flexibility to have an alternate URI::Parser (or just different patterns
+# and regexp's)
+#
+# == Basic example
+#
+# require 'uri'
+#
+# uri = URI("http://foo.com/posts?id=30&limit=5#time=1305298413")
+# #=> #<URI::HTTP:0x00000000b14880
+# URL:http://foo.com/posts?id=30&limit=5#time=1305298413>
+# uri.scheme
+# #=> "http"
+# uri.host
+# #=> "foo.com"
+# uri.path
+# #=> "/posts"
+# uri.query
+# #=> "id=30&limit=5"
+# uri.fragment
+# #=> "time=1305298413"
+#
+# uri.to_s
+# #=> "http://foo.com/posts?id=30&limit=5#time=1305298413"
+#
+# == Adding custom URIs
+#
+# module URI
+# class RSYNC < Generic
+# DEFAULT_PORT = 873
+# end
+# @@schemes['RSYNC'] = RSYNC
+# end
+# #=> URI::RSYNC
+#
+# URI.scheme_list
+# #=> {"FTP"=>URI::FTP, "HTTP"=>URI::HTTP, "HTTPS"=>URI::HTTPS,
+# "LDAP"=>URI::LDAP, "LDAPS"=>URI::LDAPS, "MAILTO"=>URI::MailTo,
+# "RSYNC"=>URI::RSYNC}
+#
+# uri = URI("rsync://rsync.foo.com")
+# #=> #<URI::RSYNC:0x00000000f648c8 URL:rsync://rsync.foo.com>
+#
+# == RFC References
+#
+# A good place to view an RFC spec is http://www.ietf.org/rfc.html
+#
+# Here is a list of all related RFC's.
+# - RFC822[http://tools.ietf.org/html/rfc822]
+# - RFC1738[http://tools.ietf.org/html/rfc1738]
+# - RFC2255[http://tools.ietf.org/html/rfc2255]
+# - RFC2368[http://tools.ietf.org/html/rfc2368]
+# - RFC2373[http://tools.ietf.org/html/rfc2373]
+# - RFC2396[http://tools.ietf.org/html/rfc2396]
+# - RFC2732[http://tools.ietf.org/html/rfc2732]
+# - RFC3986[http://tools.ietf.org/html/rfc3986]
+#
+# == Class tree
+#
+# - URI::Generic (in uri/generic.rb)
+# - URI::FTP - (in uri/ftp.rb)
+# - URI::HTTP - (in uri/http.rb)
+# - URI::HTTPS - (in uri/https.rb)
+# - URI::LDAP - (in uri/ldap.rb)
+# - URI::LDAPS - (in uri/ldaps.rb)
+# - URI::MailTo - (in uri/mailto.rb)
+# - URI::Parser - (in uri/common.rb)
+# - URI::REGEXP - (in uri/common.rb)
+# - URI::REGEXP::PATTERN - (in uri/common.rb)
+# - URI::Util - (in uri/common.rb)
+# - URI::Escape - (in uri/common.rb)
+# - URI::Error - (in uri/common.rb)
+# - URI::InvalidURIError - (in uri/common.rb)
+# - URI::InvalidComponentError - (in uri/common.rb)
+# - URI::BadURIError - (in uri/common.rb)
+#
+# == Copyright Info
#
# Author:: Akira Yamada <akira@ruby-lang.org>
-# Documentation:: Akira Yamada <akira@ruby-lang.org>, Dmitry V. Sabanin <sdmitry@lrn.ru>
+# Documentation::
+# Akira Yamada <akira@ruby-lang.org>
+# Dmitry V. Sabanin <sdmitry@lrn.ru>
+# Vincent Batts <vbatts@hashbangbash.com>
# License::
# Copyright (c) 2001 akira yamada <akira@ruby-lang.org>
# You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
-# See URI for documentation
-#
module URI
# :stopdoc:
View
@@ -1,10 +1,13 @@
+#--
# = uri/common.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
# Revision:: $Id$
# License::
# You can redistribute it and/or modify it under the same term as Ruby.
#
+# See URI for general documentation
+#
module URI
#
@@ -634,7 +637,7 @@ def unescape(*arg)
DEFAULT_PARSER.unescape(*arg)
end
alias decode unescape
- end
+ end # module Escape
extend Escape
include REGEXP
@@ -978,7 +981,7 @@ def self.decode_www_form(str, enc=Encoding::UTF_8)
end
ary
end
-end
+end # module URI
module Kernel
View
@@ -1,10 +1,11 @@
-#
# = uri/ftp.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
# License:: You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
+# See URI for general documentation
+#
require 'uri/generic'
View
@@ -1,11 +1,11 @@
-
-#
# = uri/generic.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
# License:: You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
+# See URI for general documentation
+#
require 'uri/common'
View
@@ -1,10 +1,11 @@
-#
# = uri/http.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
# License:: You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
+# See URI for general documentation
+#
require 'uri/generic'
View
@@ -1,10 +1,11 @@
-#
# = uri/https.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
# License:: You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
+# See URI for general documentation
+#
require 'uri/http'
View
@@ -1,4 +1,3 @@
-#
# = uri/ldap.rb
#
# Author::
@@ -9,6 +8,8 @@
# You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
+# See URI for general documentation
+#
require 'uri/generic'
View
@@ -1,3 +1,10 @@
+# = uri/ldap.rb
+#
+# License:: You can redistribute it and/or modify it under the same term as Ruby.
+#
+# See URI for general documentation
+#
+
require 'uri/ldap'
module URI
View
@@ -1,10 +1,11 @@
-#
# = uri/mailto.rb
#
# Author:: Akira Yamada <akira@ruby-lang.org>
# License:: You can redistribute it and/or modify it under the same term as Ruby.
# Revision:: $Id$
#
+# See URI for general documentation
+#
require 'uri/generic'

0 comments on commit 10219ff

Please sign in to comment.