Class: Maze::BugsnagConfig

Inherits:
Object
  • Object
show all
Defined in:
lib/maze/bugsnag_config.rb

Class Method Summary collapse

Class Method Details

.start_bugsnag(cucumber_config) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/maze/bugsnag_config.rb', line 7

def start_bugsnag(cucumber_config)
  # Use MAZE_BUGSNAG_API_KEY explicitly to avoid collisions with test env
  return unless Maze.config.enable_bugsnag && ENV['MAZE_BUGSNAG_API_KEY']

  Bugsnag.configure do |config|
    config.api_key = ENV['MAZE_BUGSNAG_API_KEY']
    config.discard_classes << 'Test::Unit::AssertionFailedError'
    config.(:'test driver', {
      'driver type': Maze.driver.class,
      'device farm': Maze.config.farm,
      'capabilities': Maze.config.capabilities
    }) if Maze.driver
    config.(:'buildkite', {
      'pipeline': ENV['BUILDKITE_PIPELINE_NAME'],
      'repo': ENV['BUILDKITE_REPO'],
      'build url': ENV['BUILDKITE_BUILD_URL'],
      'branch': ENV['BUILDKITE_BRANCH'],
      'builder': ENV['BUILDKITE_BUILD_CREATOR'],
      'message': ENV['BUILDKITE_MESSAGE'],
      'step': ENV['BUILDKITE_LABEL']
    }) if ENV['BUILDKITE']
    config.project_root = Dir.pwd
  end

  Bugsnag.start_session

  at_exit do
    if $!
      Bugsnag.notify($!)
    end
  end

end