class Bundler::URI::RFC2396_Parser

def initialize(opts = {})


u1.eql?(u2) #=> false
u1 == u2 #=> true
u2 = Bundler::URI.parse(s) #=> #
u1 = p.parse(s) #=> #
s = "http://example.com/ABCD"

Bundler::URI.parse(u.to_s) #=> raises Bundler::URI::InvalidURIError
u = p.parse("http://example.jp/%uABCD") #=> #
p = Bundler::URI::Parser.new(:ESCAPED => "(?:%[a-fA-F0-9]{2}|%u[a-fA-F0-9]{4})")

== Examples

* :HOSTNAME (Bundler::URI::PATTERN::HOSTNAME in default)
* :TOPLABEL (Bundler::URI::PATTERN::TOPLABEL in default)
* :DOMLABEL (Bundler::URI::PATTERN::DOMLABEL in default)
* :UNRESERVED (Bundler::URI::PATTERN::UNRESERVED in default)
* :ESCAPED (Bundler::URI::PATTERN::ESCAPED in default)

You can use the following keys:

The constructor generates set of regexps for parsing URIs.
and values of options are pattern strings.
Keys of options are pattern names of Bundler::URI components
The constructor accepts a hash as options for parser.

== Args

Bundler::URI::Parser.new([opts])

== Synopsis
def initialize(opts = {})
  @pattern = initialize_pattern(opts)
  @pattern.each_value(&:freeze)
  @pattern.freeze
  @regexp = initialize_regexp(@pattern)
  @regexp.each_value(&:freeze)
  @regexp.freeze
end