Class: Opbeat::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/opbeat/configuration.rb

Constant Summary collapse

DEFAULTS =
{
  server: "https://intake.opbeat.com".freeze,
  logger: Logger.new(nil),
  context_lines: 3,
  enabled_environments: %w{production},
  excluded_exceptions: [],
  filter_parameters: [/(authorization|password|passwd|secret)/i],
  timeout: 100,
  open_timeout: 100,
  backoff_multiplier: 2,
  use_ssl: true,
  current_user_method: :current_user,
  environment: ENV['RACK_ENV'] || ENV['RAILS_ENV'] || 'default',
  transaction_post_interval: 60,
  worker_quit_timeout: 5,

  disable_performance: false,
  disable_errors: false,

  debug_traces: false,

  view_paths: [],

  # for tests
  disable_worker: false
}.freeze

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(opts = {}) ⇒ Configuration

Returns a new instance of Configuration.



60
61
62
63
64
65
66
67
68
# File 'lib/opbeat/configuration.rb', line 60

def initialize opts = {}
  DEFAULTS.merge(opts).each do |k, v|
    self.send("#{k}=", v)
  end

  if block_given?
    yield self
  end
end

Instance Attribute Details

#app_idObject

Returns the value of attribute app_id.



34
35
36
# File 'lib/opbeat/configuration.rb', line 34

def app_id
  @app_id
end

#backoff_multiplierObject

Returns the value of attribute backoff_multiplier.



44
45
46
# File 'lib/opbeat/configuration.rb', line 44

def backoff_multiplier
  @backoff_multiplier
end

#context_linesObject

Returns the value of attribute context_lines.



38
39
40
# File 'lib/opbeat/configuration.rb', line 38

def context_lines
  @context_lines
end

#current_user_methodObject

Returns the value of attribute current_user_method.



46
47
48
# File 'lib/opbeat/configuration.rb', line 46

def current_user_method
  @current_user_method
end

#debug_tracesObject

Returns the value of attribute debug_traces.



54
55
56
# File 'lib/opbeat/configuration.rb', line 54

def debug_traces
  @debug_traces
end

#disable_errorsObject

Returns the value of attribute disable_errors.



52
53
54
# File 'lib/opbeat/configuration.rb', line 52

def disable_errors
  @disable_errors
end

#disable_performanceObject

Returns the value of attribute disable_performance.



51
52
53
# File 'lib/opbeat/configuration.rb', line 51

def disable_performance
  @disable_performance
end

#disable_workerObject

Returns the value of attribute disable_worker.



56
57
58
# File 'lib/opbeat/configuration.rb', line 56

def disable_worker
  @disable_worker
end

#enabled_environmentsObject

Returns the value of attribute enabled_environments.



39
40
41
# File 'lib/opbeat/configuration.rb', line 39

def enabled_environments
  @enabled_environments
end

#environmentObject

Returns the value of attribute environment.



47
48
49
# File 'lib/opbeat/configuration.rb', line 47

def environment
  @environment
end

#excluded_exceptionsObject

Returns the value of attribute excluded_exceptions.



40
41
42
# File 'lib/opbeat/configuration.rb', line 40

def excluded_exceptions
  @excluded_exceptions
end

#filter_parametersObject

Returns the value of attribute filter_parameters.



41
42
43
# File 'lib/opbeat/configuration.rb', line 41

def filter_parameters
  @filter_parameters
end

#loggerObject

Returns the value of attribute logger.



37
38
39
# File 'lib/opbeat/configuration.rb', line 37

def logger
  @logger
end

#open_timeoutObject

Returns the value of attribute open_timeout.



43
44
45
# File 'lib/opbeat/configuration.rb', line 43

def open_timeout
  @open_timeout
end

#organization_idObject

Returns the value of attribute organization_id.



33
34
35
# File 'lib/opbeat/configuration.rb', line 33

def organization_id
  @organization_id
end

#secret_tokenObject

Returns the value of attribute secret_token.



32
33
34
# File 'lib/opbeat/configuration.rb', line 32

def secret_token
  @secret_token
end

#serverObject

Returns the value of attribute server.



36
37
38
# File 'lib/opbeat/configuration.rb', line 36

def server
  @server
end

#timeoutObject

Returns the value of attribute timeout.



42
43
44
# File 'lib/opbeat/configuration.rb', line 42

def timeout
  @timeout
end

#transaction_post_intervalObject

Returns the value of attribute transaction_post_interval.



48
49
50
# File 'lib/opbeat/configuration.rb', line 48

def transaction_post_interval
  @transaction_post_interval
end

#use_sslObject

Returns the value of attribute use_ssl.



45
46
47
# File 'lib/opbeat/configuration.rb', line 45

def use_ssl
  @use_ssl
end

#view_pathsObject

Returns the value of attribute view_paths.



58
59
60
# File 'lib/opbeat/configuration.rb', line 58

def view_paths
  @view_paths
end

#worker_quit_timeoutObject

Returns the value of attribute worker_quit_timeout.



49
50
51
# File 'lib/opbeat/configuration.rb', line 49

def worker_quit_timeout
  @worker_quit_timeout
end

Instance Method Details

#validate!Object



70
71
72
73
74
75
76
77
78
79
# File 'lib/opbeat/configuration.rb', line 70

def validate!
  %w{app_id secret_token organization_id}.each do |key|
    raise Error.new("Configuration missing `#{key}'") unless self.send(key)
  end

  true
rescue Error => e
  logger.error e.message
  false
end