class URI::Parser

Public Instance Methods

orig_split(uri)
Alias for: split
split(uri) click to toggle source

Handles to split special schemes’s URI.

# File lib/pione/patch/uri-patch.rb, line 47
def split(uri)
  scheme = uri.split(":").first

  # special schemes
  case scheme
  when "local"
    path = uri[6..-1]
    return [scheme, nil, nil, nil, nil, path, nil, nil, nil]
  when "broadcast"
    rest = uri[10..-1]
    if rest == "//"
      return [scheme, nil, nil, nil, nil, nil, nil, nil, nil]
    end
  when "myftp"
    if uri[6] == "." or uri[6] == "~"
      path = uri[6..-1]
      return [scheme, nil, nil, nil, nil, path, nil, nil, nil]
    end
  end

  # other case
  return orig_split(uri)
end
Also aliased as: orig_split