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



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



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

def active?
  !! self[:active]
end

#loaded?Boolean



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

def loaded?
  !! config_hash
end