module Redis::Cluster::CommandLoader
def fetch_command_details(node)
def fetch_command_details(node) node.call(%i[command]).map do |reply| [reply[0], { arity: reply[1], flags: reply[2], first: reply[3], last: reply[4], step: reply[5] }] end.to_h rescue CannotConnectError, ConnectionError, CommandError {} # can retry on another node end
def load(nodes)
def load(nodes) details = {} nodes.each do |node| details = fetch_command_details(node) details.empty? ? next : break end details end