class XML::Parser::SAXDriver::URL

very simple URL parser

Attributes

login[R]
scheme[R]
urlpath[R]

Public Class Methods

new(url, url2 = nil) click to toggle source
# File lib/xml/saxdriver.rb, line 29
def initialize(url, url2 = nil)
  @scheme = ''
  @login = ''
  @urlpath = ''
  if url.kind_of?(String) && url2.nil?
    if url =~ /^([a-z0-9\+\-\.]+):\/\/([^\/]+)(\/.*)$/
      @scheme, @login, @urlpath = $1, $2, $3
    else
      url = File::expand_path(url)
      @scheme, @login, @urlpath = "file", "localhost", url
    end
  elsif url.kind_of?(URL) && url2.kind_of?(String)
    if url2 =~ /^([a-z0-9\+\-\.]+):\/\/([^\/]+)(\/.*)$/
      @scheme, @login, @urlpath = $1, $2, $3
    else
      @scheme = url.scheme
      @login = url.login
      if url2 =~ /^\//
        @urlpath = url2
      else
        path = url.urlpath
        path =~ /^([^\#]+)\#?(.*)$/
        path = $1
        path =~ /^([^\?]+)\??(.*)$/
        path = $1
        path =~ /^(.+)\/(.*)/
        path = $1
        @urlpath = File.expand_path(path + '/' + url2)
      end
    end
  end
end

Public Instance Methods

to_s() click to toggle source
# File lib/xml/saxdriver.rb, line 62
def to_s
  @scheme + "://" + @login + @urlpath
end