module DRb::DRbProtocol

def uri_option(uri, config, first=true)

URI, then a DRbBadURI error is raised.
URI by raising a DRbBadScheme error. If no protocol recognises the
try to parse the URI. Each protocol signals that it does not handle that
The DRbProtocol module asks each registered protocol in turn to

Parse +uri+ into a [uri, option] pair.
def uri_option(uri, config, first=true)
  @protocol.each do |prot|
    begin
      uri, opt = prot.uri_option(uri, config)
      # opt = nil if opt == ''
      return uri, opt
    rescue DRbBadScheme
    end
  end
  if first && (config[:auto_load] != false)
    auto_load(uri)
    return uri_option(uri, config, false)
  end
  raise DRbBadURI, 'can\'t parse uri:' + uri
end