Class: Stackify::EnvDetails

Inherits:
Object show all
Includes:
Singleton
Defined in:
lib/stackify/env_details.rb

Constant Summary collapse

@@masked_headers =
%w(HTTP_AUTHORIZATION HTTP_COOKIE)
@@masked_value =
'X-MASKED-X'

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeEnvDetails

Returns a new instance of EnvDetails.



13
14
15
# File 'lib/stackify/env_details.rb', line 13

def initialize
  set_env_properties
end

Instance Attribute Details

#request_detailsObject

Returns the value of attribute request_details.



7
8
9
# File 'lib/stackify/env_details.rb', line 7

def request_details
  @request_details
end

Instance Method Details

#auth_infoObject



42
43
44
# File 'lib/stackify/env_details.rb', line 42

def auth_info
  with_synchronize{ @details }
end

#set_env_properties(rails_info = nil) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/stackify/env_details.rb', line 28

def set_env_properties (rails_info = nil)
  @info =  rails_info || { 'Application root' => Dir.pwd, 'Environment' => 'development'}
  @request_details = {}
  @app_name = app_name
  app_location = Stackify.configuration.app_location || @info['Application root']
  @details = {
    'DeviceName' => Socket.gethostname,
    'AppLocation' => app_location,
    'AppName' => @app_name,
    'ConfiguredAppName' => @app_name,
    'ConfiguredEnvironmentName' => Stackify.configuration.env || @info['Environment']
  }
end

#set_rails_infoObject



17
18
19
20
21
22
23
24
25
26
# File 'lib/stackify/env_details.rb', line 17

def set_rails_info
  begin
    if (!Object.const_defined?('Rails::Info'))
      return
    end
  rescue NameError => exception
    return
  end
  set_env_properties (defined?(Rails) ? Rails::Info.properties.to_h : nil)
end

#update_auth_info(info) ⇒ Object



46
47
48
# File 'lib/stackify/env_details.rb', line 46

def update_auth_info info
  with_synchronize{ @details.merge! info }
end