module AssMaintainer::InfoBase::ServerIb::EnterpriseServers::Support::ServerConnection
@api private Abstract
server connection. Mixin for {Cluster} and {ServerAgent}
Attributes
host[RW]
Host name
password[RW]
Server user password See {#initialize} password
argument. @return [String]
port[RW]
TCP port
user[RW]
Server user name See {#initialize} user
argument. @return [String]
Public Class Methods
new(host_port, user = nil, password = nil)
click to toggle source
@param host_port
[String] string like a host_name:port_number
@param user [String] server user name @param password [String] server user password
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 147 def initialize(host_port, user = nil, password = nil) fail ArgumentError, 'Host name require' if host_port.to_s.empty? @raw_host_port = host_port @host = parse_host @port = parse_port || default_port @user = user @password = password end
Public Instance Methods
default_port()
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 176 def default_port fail 'Abstract method' end
eql?(other)
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 191 def eql?(other) host.upcase == other.host.upcase && port == other.port end
Also aliased as: ==
host_port()
click to toggle source
String like a host_name:port_number
. @return [String]
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 158 def host_port "#{host}:#{port}" end
ping?()
click to toggle source
Return true
if TCP port available on server
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 181 def ping? tcp_ping.ping? end
tcp_ping()
click to toggle source
@return [Net::Ping::TCP] instance
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 187 def tcp_ping @tcp_ping ||= Net::Ping::TCP.new(host, port) end
Private Instance Methods
parse_host()
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 168 def parse_host p = @raw_host_port.split(':')[0].to_s.strip fail ArgumentError, "Invalid host_name for `#{@raw_host_port}'" if\ p.empty? p end
parse_port()
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/support.rb, line 162 def parse_port p = @raw_host_port.split(':')[1].to_s.strip return p unless p.empty? end