class Redis::Cluster::Option
def parse_node_url(addr)
def parse_node_url(addr) uri = URI(addr) raise InvalidClientOptionError, "Invalid uri scheme #{addr}" unless VALID_SCHEMES.include?(uri.scheme) db = uri.path.split('/')[1]&.to_i { scheme: uri.scheme, username: uri.user, password: uri.password, host: uri.host, port: uri.port, db: db } .reject { |_, v| v.nil? || v == '' } rescue URI::InvalidURIError => err raise InvalidClientOptionError, err.message end