106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# File 'lib/cisco_node_utils/client/client.rb', line 106
def self.handle_errors(errors)
client_errors = errors.select { |e| e.kind_of? Cisco::ClientError }
if !client_errors.empty?
fail client_errors[0] if client_errors.length == 1
e_cls = client_errors[0].class
unless client_errors.all? { |e| e.class == e_cls }
e_cls = Cisco::ClientError
end
fail e_cls, ("Unable to establish any client connection:\n" +
errors.each(&:message).join("\n"))
elsif errors.any? { |e| e.kind_of? ArgumentError }
fail ArgumentError, ("Invalid arguments:\n" +
errors.each(&:message).join("\n"))
elsif errors.any? { |e| e.kind_of? TypeError }
fail TypeError, ("Invalid arguments:\n" +
errors.each(&:message).join("\n"))
end
fail Cisco::ClientError, 'No client connected, but no errors were reported?'
end
|