diff options
Diffstat (limited to 'lib/uri.rb')
| -rw-r--r-- | lib/uri.rb | 131 |
1 files changed, 97 insertions, 34 deletions
diff --git a/lib/uri.rb b/lib/uri.rb index fe1fdbe571..dfdb052a79 100644 --- a/lib/uri.rb +++ b/lib/uri.rb @@ -1,41 +1,104 @@ +# frozen_string_literal: false +# URI is a module providing classes to handle Uniform Resource Identifiers +# (RFC2396[https://www.rfc-editor.org/rfc/rfc2396]). # -# $Id$ +# == Features # -# Copyright (c) 2001 akira yamada <akira@ruby-lang.org> -# You can redistribute it and/or modify it under the same term as Ruby. +# * Uniform way 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 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 +# register_scheme 'RSYNC', RSYNC +# end +# #=> URI::RSYNC +# +# URI.scheme_list +# #=> {"FILE"=>URI::File, "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 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[https://www.rfc-editor.org/rfc/rfc822] +# - RFC1738[https://www.rfc-editor.org/rfc/rfc1738] +# - RFC2255[https://www.rfc-editor.org/rfc/rfc2255] +# - RFC2368[https://www.rfc-editor.org/rfc/rfc2368] +# - RFC2373[https://www.rfc-editor.org/rfc/rfc2373] +# - RFC2396[https://www.rfc-editor.org/rfc/rfc2396] +# - RFC2732[https://www.rfc-editor.org/rfc/rfc2732] +# - RFC3986[https://www.rfc-editor.org/rfc/rfc3986] +# +# == Class tree +# +# - URI::Generic (in uri/generic.rb) +# - URI::File - (in uri/file.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::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> +# 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. # - -=begin - - Copyright (c) 2001 akira yamada <akira@ruby-lang.org> - You can redistribute it and/or modify it under the same term as Ruby. - -= URI - URI support for Ruby - -=end module URI - VERSION_CODE = '000911'.freeze - VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze end -=begin - -== Components - - * ((<URI>)) Module - * ((<URI::Generic>)) Class - * ((<URI::FTP>)) Class - * ((<URI::HTTP>)) Class - * ((<URI::HTTPS>)) Class - * ((<URI::LDAP>)) Class - * ((<URI::MailTo>)) Class - -=end -require 'uri/common' -require 'uri/generic' -require 'uri/ftp' -require 'uri/http' -require 'uri/https' -require 'uri/ldap' -require 'uri/mailto' +require_relative 'uri/version' +require_relative 'uri/common' +require_relative 'uri/generic' +require_relative 'uri/file' +require_relative 'uri/ftp' +require_relative 'uri/http' +require_relative 'uri/https' +require_relative 'uri/ldap' +require_relative 'uri/ldaps' +require_relative 'uri/mailto' +require_relative 'uri/ws' +require_relative 'uri/wss' |
