module AssMaintainer::InfoBase::ServerIb::EnterpriseServers::ServerAgent
@api private Object descrbed 1C server agent connection. @example
# Get 1C:Eneterprise server agent connection object and connect # to net service sagent = ServerAgent.new('localhost:1540', 'admin', 'password') .connect('~> 8.3.8.0') # Working with server agent connection sagent.ConnectionString #=> "tcp://localhost:1540" cl = sagent.cluster_find 'localhost', '1542' # Close connection sagent.disconnect
Public Class Methods
new(host_port, user, password)
click to toggle source
Make new object of anonymous class which included this module.
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 26 def self.new(host_port, user, password) Class.new do include ServerAgent end.new host_port, user, password end
Public Instance Methods
authenticate()
click to toggle source
Authenticate {#user} @raise if not connected
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 53 def authenticate AuthenticateAgent(user.to_s, password.to_s) if\ connected? && !authenticate? end
authenticate?()
click to toggle source
True if #{user} authenticate
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 59 def authenticate? return false unless connected? begin ole_connector.GetAgentAdmins rescue WIN32OLERuntimeError return false end true end
cluster_find(host, port)
click to toggle source
@return [nil WIN32OLE] IClusterInfo
ole object @raise if not connected
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 71 def cluster_find(host, port) reconnect GetClusters().find do |cl| cl.HostName.upcase == host.upcase && cl.MainPort == port.to_i end end
connect(platform_require)
click to toggle source
Connect to 1C:Eneterprise server via OLE @note while connecting in instance class will be included {.runtime_new} module @param platform_require
[String Gem::Requirement] 1C:Eneterprise version required @return self
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 47 def connect(platform_require) _connect(host_port, platform_require) end
default_port()
click to toggle source
@return [String] wrapper for {InfoBase::DEFAULT_SAGENT_PORT}
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 33 def default_port InfoBase::DEFAULT_SAGENT_PORT end
platform_require()
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 78 def platform_require return unless connected? ole_connector.send(:__ole_binary__).requirement.to_s end
runtime_type()
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 37 def runtime_type :agent end
Private Instance Methods
_reconnect_required?()
click to toggle source
# File lib/ass_maintainer/info_base/server_ib/enterprise_servers/server_agent.rb, line 83 def _reconnect_required? getClusters.empty? end