Class: Appsignal::Config

Inherits:
Object
  • Object
show all
Includes:
CarefulLogger
Defined in:
lib/appsignal/config.rb

Constant Summary collapse

DEFAULT_CONFIG =
{
  :ignore_exceptions => [],
  :ignore_actions => [],
  :send_params => true,
  :endpoint => 'https://push.appsignal.com/1',
  :slow_request_threshold => 200,
  :instrument_net_http => true
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from CarefulLogger

#carefully_log_error

Constructor Details

#initialize(root_path, env, initial_config = {}, logger = Appsignal.logger) ⇒ Config

Returns a new instance of Config.



20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/appsignal/config.rb', line 20

def initialize(root_path, env, initial_config={}, logger=Appsignal.logger)
  @root_path = root_path
  @env = env.to_s
  @initial_config = initial_config
  @logger = logger

  if File.exists?(config_file)
    load_config_from_disk
  elsif ENV['APPSIGNAL_PUSH_API_KEY']
    load_default_config_with_push_api_key(
      ENV['APPSIGNAL_PUSH_API_KEY']
    )
  elsif ENV['APPSIGNAL_API_KEY']
    load_default_config_with_push_api_key(
      ENV['APPSIGNAL_API_KEY']
    )
    @logger.info(
      'The APPSIGNAL_API_KEY environment variable has been deprecated, ' \
      'please switch to APPSIGNAL_PUSH_API_KEY'
    )
  else
    carefully_log_error(
      "Not loading: No config file found at '#{config_file}' " \
      "and no APPSIGNAL_PUSH_API_KEY env var present"
    )
  end
end

Instance Attribute Details

#config_hashObject (readonly)

Returns the value of attribute config_hash.



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

def config_hash
  @config_hash
end

#envObject (readonly)

Returns the value of attribute env.



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

def env
  @env
end

#initial_configObject (readonly)

Returns the value of attribute initial_config.



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

def initial_config
  @initial_config
end

#root_pathObject (readonly)

Returns the value of attribute root_path.



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

def root_path
  @root_path
end

Instance Method Details

#[](key) ⇒ Object



52
53
54
55
# File 'lib/appsignal/config.rb', line 52

def [](key)
  return unless loaded?
  config_hash[key]
end

#active?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'lib/appsignal/config.rb', line 57

def active?
  !! self[:active]
end

#loaded?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'lib/appsignal/config.rb', line 48

def loaded?
  !! config_hash
end