lib/net/ldap/error.rb in net-ldap-0.11 vs lib/net/ldap/error.rb in net-ldap-0.12.0
- old
+ new
@@ -7,10 +7,44 @@
class Error < StandardError; end
class AlreadyOpenedError < Error; end
class SocketError < Error; end
- class ConnectionRefusedError < Error; end
+ class ConnectionRefusedError < Error;
+ def initialize(*args)
+ warn_deprecation_message
+ super
+ end
+
+ def message
+ warn_deprecation_message
+ super
+ end
+
+ private
+ def warn_deprecation_message
+ warn "Deprecation warning: Net::LDAP::ConnectionRefused will be deprecated. Use Errno::ECONNREFUSED instead."
+ end
+ end
+ class ConnectionError < Error
+ def self.new(errors)
+ error = errors.first.first
+ if errors.size == 1
+ if error.kind_of? Errno::ECONNREFUSED
+ return Net::LDAP::ConnectionRefusedError.new(error.message)
+ end
+
+ return Net::LDAP::Error.new(error.message)
+ end
+
+ super
+ end
+
+ def initialize(errors)
+ message = "Unable to connect to any given server: \n #{errors.map { |e, h, p| "#{e.class}: #{e.message} (#{h}:#{p})" }.join("\n ")}"
+ super(message)
+ end
+ end
class NoOpenSSLError < Error; end
class NoStartTLSResultError < Error; end
class NoSearchBaseError < Error; end
class StartTLSError < Error; end
class EncryptionUnsupportedError < Error; end