class Redis::Connection::Ruby

def self.connect(config)

def self.connect(config)
  if config[:scheme] == "unix"
    raise ArgumentError, "SSL incompatible with unix sockets" if config[:ssl]
    sock = UNIXSocket.connect(config[:path], config[:connect_timeout])
  elsif config[:scheme] == "rediss" || config[:ssl]
    sock = SSLSocket.connect(config[:host], config[:port], config[:connect_timeout], config[:ssl_params])
  else
    sock = TCPSocket.connect(config[:host], config[:port], config[:connect_timeout])
  end
  instance = new(sock)
  instance.timeout = config[:read_timeout]
  instance.write_timeout = config[:write_timeout]
  instance.set_tcp_keepalive config[:tcp_keepalive]
  instance.set_tcp_nodelay if sock.is_a? TCPSocket
  instance
end