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

==(other)
Alias for: eql?
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