class Doctor::TelnetAnalyser

Public Instance Methods

analyse() click to toggle source
# File app/analyser/doctor/telnet_analyser.rb, line 9
def analyse
  result = []

  Doctor::ConfigManager.url_to_telnet_list.each { |active_record|
    result << validate_telnet_connection(active_record)
  }

  result
end

Private Instance Methods

build_result(url) click to toggle source
# File app/analyser/doctor/telnet_analyser.rb, line 40
def build_result(url)
  {
    name: url[:name],
    host: url[:host],
    port: url[:port] || DEFAULT_PORT,
    timeout: url[:timeout] || DEFAULT_TIMEOUT,
    wait_time: url[:wait_time] || DEFAULT_WAIT_TIME
  }
end
execute_telnet(url) click to toggle source
# File app/analyser/doctor/telnet_analyser.rb, line 50
def execute_telnet(url)
  Net::Telnet::new(
    'Host' => url[:host],
    'Port' => url[:port] || DEFAULT_PORT,
    'Timeout' => url[:timeout] || DEFAULT_TIMEOUT,
    'Waittime' => url[:wait_time] || DEFAULT_WAIT_TIME
  )
end
validate_telnet_connection(url) click to toggle source
# File app/analyser/doctor/telnet_analyser.rb, line 21
def validate_telnet_connection(url)
  result = build_result(url)

  response = nil

  begin
    response = execute_telnet(url)

    result[:status] = 'ok'
  rescue Exception => ex
    result[:error_message] = ex.message
    result[:status] = 'error'
  ensure
    response.close unless response.nil?
  end

  OpenStruct.new(result)
end