Class: Contrast::Config::Diagnostics::Config

Inherits:
Object
  • Object
show all
Defined in:
lib/contrast/config/diagnostics/config.rb

Overview

This class is responsible for logging to file the effective Agent configurations after startup.

Constant Summary collapse

MESSAGE_FAIL =
'Unable to connect to Contrast, configuration details from the Contrast UI will not be included.'
MESSAGE_SUCCESSFUL =
'Success'
CONN_STATUS_MSG_FAILURE =
'Unable to connect to Contrast, insufficient connection properties provided.'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeConfig

Returns a new instance of Config.



26
27
28
29
30
# File 'lib/contrast/config/diagnostics/config.rb', line 26

def initialize
  @effective_config = Contrast::Config::Diagnostics::EffectiveConfig.new
  @config_status = Contrast::Utils::ObjectShare::EMPTY_STRING
  @user_configuration_file = Contrast::Config::Diagnostics::UserConfigurationFile.new
end

Instance Attribute Details

#config_statusString

Returns Status message of the connection with TS.

Returns:

  • (String)

    Status message of the connection with TS.



18
19
20
# File 'lib/contrast/config/diagnostics/config.rb', line 18

def config_status
  @config_status
end

#effective_configContrast::Config::Diagnostics::EffectiveConfig (readonly)



16
17
18
# File 'lib/contrast/config/diagnostics/config.rb', line 16

def effective_config
  @effective_config
end

#user_configuration_fileContrast::Config::Diagnostics::UserConfigurationFile (readonly)



20
21
22
# File 'lib/contrast/config/diagnostics/config.rb', line 20

def user_configuration_file
  @user_configuration_file
end

Instance Method Details

#determine_config_status(response_code) ⇒ Object

This method will set the status from the request/response cycles

Parameters:

  • response_code (string)


35
36
37
38
39
40
41
42
# File 'lib/contrast/config/diagnostics/config.rb', line 35

def determine_config_status response_code
  @config_status = case response_code
                   when '200', '304'
                     MESSAGE_SUCCESSFUL
                   else
                     MESSAGE_FAIL
                   end
end

#populate_fail_connectionObject

This method will set the status message from the config validation



45
46
47
# File 'lib/contrast/config/diagnostics/config.rb', line 45

def populate_fail_connection
  @config_status = CONN_STATUS_MSG_FAILURE
end

#to_controlled_hashObject



49
50
51
52
53
54
55
56
57
58
59
# File 'lib/contrast/config/diagnostics/config.rb', line 49

def to_controlled_hash
  {
      status: @config_status,
      effective_config: effective_config.to_controlled_hash,
      user_configuration_file: user_configuration_file.to_controlled_hash,
      environment_variable: Contrast::Config::Diagnostics::EnvironmentVariables.environment_settings(ENV).
          map(&:to_source_hash),
      command_line: Contrast::Config::Diagnostics::CommandLine.command_line_settings.map(&:to_source_hash),
      contrast_ui: Contrast::Config::Diagnostics::ContrastUI.contrast_ui_settings.map(&:to_source_hash)
  }.compact
end