airbrake 7.3.0 → 7.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 316526ced825ff8d483c8c39ef8cb91b28b87061
4
- data.tar.gz: 3684b014f533480b1ab68807f2e1a44f401eca67
3
+ metadata.gz: 1882c601b09a39c571119acd85204689f64e3b67
4
+ data.tar.gz: 15a58dbaa0ceb63597e3ec020ad3b33beeae634f
5
5
  SHA512:
6
- metadata.gz: d2ed502c4b11e5984b67f51b88221e44a1c9cae42838c100b843a7fd9c3972c06a9a9a9927b37f67b211a20f994f4c5643a3be53f107e9383286ab5aacdd84d7
7
- data.tar.gz: 3092845ca44854b3229a554ee8ee6623114b5db97605a4f871e3c6d390cc385c146bc33beaa617308d6cca8aa39f085c86700e2365eea2daedf43c13de99a811
6
+ metadata.gz: 4599350b6fed0e53e2058d816f3d7bf8b6ad438f9e3c7a1ac3d7f8b3a63222cceaaa9a29c9624da051ca5bed844a1225f63accc7e65f0f08789b13f1e3d30e0d
7
+ data.tar.gz: 2a5865c928a97d1c663595dc98fde31ac8f3e8a2d138aba639d7774f46d27a8b9c804a9cdd913d974a0c2c280b097df44dd2f3e1f14e39e1ac829b5a235f9594
@@ -1,6 +1,5 @@
1
1
  module Delayed
2
2
  module Plugins
3
- ##
4
3
  # Provides integration with Delayed Job.
5
4
  # rubocop:disable Lint/RescueException
6
5
  class Airbrake < ::Delayed::Plugin
@@ -33,7 +32,6 @@ module Delayed
33
32
  end
34
33
 
35
34
  if RUBY_ENGINE == 'jruby' && defined?(Delayed::Backend::ActiveRecord::Job)
36
- ##
37
35
  # Workaround against JRuby bug:
38
36
  # https://github.com/jruby/jruby/issues/3338
39
37
  # rubocop:disable Style/ClassAndModuleChildren
@@ -2,7 +2,6 @@ require 'logger'
2
2
  require 'delegate'
3
3
 
4
4
  module Airbrake
5
- ##
6
5
  # Decorator for +Logger+ from stdlib. Endows loggers the ability to both log
7
6
  # and report errors to Airbrake.
8
7
  #
@@ -13,14 +12,12 @@ module Airbrake
13
12
  # # Just use the logger like you normally do.
14
13
  # logger.fatal('oops')
15
14
  class AirbrakeLogger < SimpleDelegator
16
- ##
17
15
  # @example
18
16
  # # Assign a default Airbrake notifier
19
17
  # logger.airbrake_notifier = Airbrake[:default]
20
18
  # @return [Airbrake::Notifier] notifier to be used to send notices
21
19
  attr_accessor :airbrake_notifier
22
20
 
23
- ##
24
21
  # @return [Integer]
25
22
  attr_reader :airbrake_level
26
23
 
@@ -30,35 +27,30 @@ module Airbrake
30
27
  @airbrake_level = Logger::WARN
31
28
  end
32
29
 
33
- ##
34
30
  # @see Logger#warn
35
31
  def warn(progname = nil, &block)
36
32
  notify_airbrake(Logger::WARN, progname)
37
33
  super
38
34
  end
39
35
 
40
- ##
41
36
  # @see Logger#error
42
37
  def error(progname = nil, &block)
43
38
  notify_airbrake(Logger::ERROR, progname)
44
39
  super
45
40
  end
46
41
 
47
- ##
48
42
  # @see Logger#fatal
49
43
  def fatal(progname = nil, &block)
50
44
  notify_airbrake(Logger::FATAL, progname)
51
45
  super
52
46
  end
53
47
 
54
- ##
55
48
  # @see Logger#unknown
56
49
  def unknown(progname = nil, &block)
57
50
  notify_airbrake(Logger::UNKNOWN, progname)
58
51
  super
59
52
  end
60
53
 
61
- ##
62
54
  # Sets airbrake severity level. Does not permit values below `Logger::WARN`.
63
55
  #
64
56
  # @example
@@ -1,28 +1,28 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # Adds context (URL, User-Agent, framework version, controller and more).
5
4
  #
6
5
  # @since v5.7.0
7
6
  class ContextFilter
8
- ##
9
7
  # @return [Integer]
10
8
  attr_reader :weight
11
9
 
12
10
  def initialize
13
11
  @framework_version =
14
12
  if defined?(::Rails) && ::Rails.respond_to?(:version)
15
- "Rails/#{::Rails.version}"
13
+ { 'rails' => ::Rails.version }
16
14
  elsif defined?(::Sinatra)
17
- "Sinatra/#{Sinatra::VERSION}"
15
+ { 'sinatra' => Sinatra::VERSION }
18
16
  else
19
- "Rack.version/#{::Rack.version} Rack.release/#{::Rack.release}"
17
+ {
18
+ 'rack_version' => ::Rack.version,
19
+ 'rack_release' => ::Rack.release
20
+ }
20
21
  end.freeze
21
22
  @weight = 99
22
23
  end
23
24
 
24
- ##
25
- # @see {Airbrake::FilterChain#refine}
25
+ # @see Airbrake::FilterChain#refine
26
26
  def call(notice)
27
27
  return unless (request = notice.stash[:rack_request])
28
28
 
@@ -47,10 +47,10 @@ module Airbrake
47
47
  private
48
48
 
49
49
  def add_framework_version(context)
50
- if context.key?(:version)
51
- context[:version] += " #{@framework_version}"
50
+ if context.key?(:versions)
51
+ context[:versions].merge!(@framework_version)
52
52
  else
53
- context[:version] = @framework_version
53
+ context[:versions] = @framework_version
54
54
  end
55
55
  end
56
56
  end
@@ -1,11 +1,9 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # Adds HTTP request parameters.
5
4
  #
6
5
  # @since v5.7.0
7
6
  class HttpHeadersFilter
8
- ##
9
7
  # @return [Array<String>] the prefixes of the majority of HTTP headers in
10
8
  # Rack (some prefixes match the header names for simplicity)
11
9
  HTTP_HEADER_PREFIXES = [
@@ -14,7 +12,6 @@ module Airbrake
14
12
  'CONTENT_LENGTH'.freeze
15
13
  ].freeze
16
14
 
17
- ##
18
15
  # @return [Integer]
19
16
  attr_reader :weight
20
17
 
@@ -22,8 +19,7 @@ module Airbrake
22
19
  @weight = 98
23
20
  end
24
21
 
25
- ##
26
- # @see {Airbrake::FilterChain#refine}
22
+ # @see Airbrake::FilterChain#refine
27
23
  def call(notice)
28
24
  return unless (request = notice.stash[:rack_request])
29
25
 
@@ -1,11 +1,9 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # Adds HTTP request parameters.
5
4
  #
6
5
  # @since v5.7.0
7
6
  class HttpParamsFilter
8
- ##
9
7
  # @return [Integer]
10
8
  attr_reader :weight
11
9
 
@@ -13,8 +11,7 @@ module Airbrake
13
11
  @weight = 97
14
12
  end
15
13
 
16
- ##
17
- # @see {Airbrake::FilterChain#refine}
14
+ # @see Airbrake::FilterChain#refine
18
15
  def call(notice)
19
16
  return unless (request = notice.stash[:rack_request])
20
17
 
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # Airbrake Rack middleware for Rails and Sinatra applications (or any other
5
4
  # Rack-compliant app). Any errors raised by the upstream application will be
6
5
  # delivered to Airbrake and re-raised.
@@ -8,7 +7,6 @@ module Airbrake
8
7
  # The middleware automatically sends information about the framework that
9
8
  # uses it (name and version).
10
9
  class Middleware
11
- ##
12
10
  # @return [Array<Class>] the list of Rack filters that read Rack request
13
11
  # information and append it to notices
14
12
  RACK_FILTERS = [
@@ -21,7 +19,6 @@ module Airbrake
21
19
  # Airbrake::Rack::RequestBodyFilter
22
20
  ].freeze
23
21
 
24
- ##
25
22
  # An Array that holds notifier names, which are known to be associated
26
23
  # with particular Airbrake Rack middleware.
27
24
  # rubocop:disable Style/ClassVars
@@ -42,7 +39,6 @@ module Airbrake
42
39
  end
43
40
  end
44
41
 
45
- ##
46
42
  # Rescues any exceptions, sends them to Airbrake and re-raises the
47
43
  # exception.
48
44
  # @param [Hash] env the Rack environment
@@ -80,7 +76,6 @@ module Airbrake
80
76
  @notifier.notify(notice)
81
77
  end
82
78
 
83
- ##
84
79
  # Web framework middlewares often store rescued exceptions inside the
85
80
  # Rack env, but Rack doesn't have a standard key for it:
86
81
  #
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # A filter that appends Rack request body to the notice.
5
4
  #
6
5
  # @example
@@ -10,19 +9,16 @@ module Airbrake
10
9
  # @since v5.7.0
11
10
  # @note This filter is *not* used by default.
12
11
  class RequestBodyFilter
13
- ##
14
12
  # @return [Integer]
15
13
  attr_reader :weight
16
14
 
17
- ##
18
15
  # @param [Integer] length The maximum number of bytes to read
19
16
  def initialize(length = 4096)
20
17
  @length = length
21
18
  @weight = 95
22
19
  end
23
20
 
24
- ##
25
- # @see {Airbrake::FilterChain#refine}
21
+ # @see Airbrake::FilterChain#refine
26
22
  def call(notice)
27
23
  return unless (request = notice.stash[:rack_request])
28
24
  return unless request.body
@@ -1,11 +1,9 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # Adds HTTP session.
5
4
  #
6
5
  # @since v5.7.0
7
6
  class SessionFilter
8
- ##
9
7
  # @return [Integer]
10
8
  attr_reader :weight
11
9
 
@@ -13,8 +11,7 @@ module Airbrake
13
11
  @weight = 96
14
12
  end
15
13
 
16
- ##
17
- # @see {Airbrake::FilterChain#refine}
14
+ # @see Airbrake::FilterChain#refine
18
15
  def call(notice)
19
16
  return unless (request = notice.stash[:rack_request])
20
17
 
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Rack
3
- ##
4
3
  # Represents an authenticated user, which can be converted to Airbrake's
5
4
  # payload format. Supports Warden and Omniauth authentication frameworks.
6
5
  class User
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Rails
3
- ##
4
3
  # This railtie works for any Rails application that supports railties (Rails
5
4
  # 3.2+ apps). It makes Airbrake Ruby work with Rails and report errors
6
5
  # occurring in the application automatically.
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Rails
3
- ##
4
3
  # Contains helper methods that can be used inside Rails controllers to send
5
4
  # notices to Airbrake. The main benefit of using them instead of the direct
6
5
  # API is that they automatically add information from the Rack environment
@@ -8,7 +7,6 @@ module Airbrake
8
7
  module ActionController
9
8
  private
10
9
 
11
- ##
12
10
  # A helper method for sending notices to Airbrake *asynchronously*.
13
11
  # Attaches information from the Rack env.
14
12
  # @see Airbrake#notify, #notify_airbrake_sync
@@ -17,7 +15,6 @@ module Airbrake
17
15
  Airbrake[notifier_name].notify(notice, params)
18
16
  end
19
17
 
20
- ##
21
18
  # A helper method for sending notices to Airbrake *synchronously*.
22
19
  # Attaches information from the Rack env.
23
20
  # @see Airbrake#notify_sync, #notify_airbrake
@@ -26,7 +23,6 @@ module Airbrake
26
23
  Airbrake[notifier_name].notify_sync(notice, params)
27
24
  end
28
25
 
29
- ##
30
26
  # @param [Exception] exception
31
27
  # @return [Airbrake::Notice] the notice with information from the Rack env
32
28
  def build_notice(exception, params = {}, notifier_name = :default)
@@ -1,11 +1,9 @@
1
1
  module Airbrake
2
2
  module Rails
3
- ##
4
3
  # Enables support for exceptions occurring in ActiveJob jobs.
5
4
  module ActiveJob
6
5
  extend ActiveSupport::Concern
7
6
 
8
- ##
9
7
  # @return [Array<Regexp>] the list of known adapters
10
8
  ADAPTERS = [/Resque/, /Sidekiq/, /DelayedJob/].freeze
11
9
 
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Rails
3
- ##
4
3
  # Rails <4.2 has a bug with regard to swallowing exceptions in the
5
4
  # +after_commit+ and the +after_rollback+ hooks: it doesn't bubble up
6
5
  # exceptions from there.
@@ -12,7 +11,6 @@ module Airbrake
12
11
  # @see https://goo.gl/348lor Rails 4.2+ implementation (fixed)
13
12
  # @see https://goo.gl/ddFNg7 Rails <4.2 implementation (bugged)
14
13
  module ActiveRecord
15
- ##
16
14
  # Patches default +run_callbacks+ with our version, which is capable of
17
15
  # notifying about exceptions.
18
16
  #
@@ -4,13 +4,11 @@
4
4
  Rake::TaskManager.record_task_metadata = true
5
5
 
6
6
  module Rake
7
- ##
8
7
  # Redefine +Rake::Task#execute+, so it can report errors to Airbrake.
9
8
  class Task
10
9
  # Store the original method to use it later.
11
10
  alias execute_without_airbrake execute
12
11
 
13
- ##
14
12
  # A wrapper around the original +#execute+, that catches all errors and
15
13
  # notifies Airbrake.
16
14
  #
@@ -1,6 +1,5 @@
1
1
  module Resque
2
2
  module Failure
3
- ##
4
3
  # Provides Resque integration with Airbrake.
5
4
  #
6
5
  # @since v5.0.0
@@ -15,7 +14,6 @@ module Resque
15
14
 
16
15
  private
17
16
 
18
- ##
19
17
  # @return [String] job's name. When ActiveJob is present, retrieve
20
18
  # job_class. When used directly, use worker's name
21
19
  def action(payload)
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Shoryuken
3
- ##
4
3
  # Provides integration with Shoryuken.
5
4
  class ErrorHandler
6
5
  # rubocop:disable Lint/RescueException
@@ -2,7 +2,6 @@ require 'airbrake/sidekiq/retryable_jobs_filter'
2
2
 
3
3
  module Airbrake
4
4
  module Sidekiq
5
- ##
6
5
  # Provides integration with Sidekiq v2+.
7
6
  class ErrorHandler
8
7
  # rubocop:disable Lint/RescueException
@@ -23,7 +22,6 @@ module Airbrake
23
22
  end
24
23
  end
25
24
 
26
- ##
27
25
  # @return [String] job's name. When ActiveJob is present, retrieve
28
26
  # job_class. When used directly, use worker's name
29
27
  def action(context)
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Sidekiq
3
- ##
4
3
  # Filter that can ignore notices from jobs that failed but will be retried
5
4
  # by Sidekiq
6
5
  # @since v7.3.0
@@ -1,6 +1,5 @@
1
1
  module Airbrake
2
2
  module Sneakers
3
- ##
4
3
  # Provides integration with Sneakers.
5
4
  #
6
5
  # @see https://github.com/jondot/sneakers
@@ -1,6 +1,5 @@
1
- ##
2
1
  # We use Semantic Versioning v2.0.0
3
2
  # More information: http://semver.org/
4
3
  module Airbrake
5
- AIRBRAKE_VERSION = '7.3.0'.freeze
4
+ AIRBRAKE_VERSION = '7.3.1'.freeze
6
5
  end
@@ -1,4 +1,3 @@
1
- ##
2
1
  # Creates the Airbrake initializer file for Rails apps.
3
2
  #
4
3
  # @example Invokation from terminal
@@ -6,12 +5,11 @@
6
5
  #
7
6
  class AirbrakeGenerator < Rails::Generators::Base
8
7
  # Adds current directory to source paths, so we can find the template file.
9
- source_root File.expand_path('..', __FILE__)
8
+ source_root File.expand_path(__dir__)
10
9
 
11
10
  argument :project_id, required: false
12
11
  argument :project_key, required: false
13
12
 
14
- ##
15
13
  # Makes the NAME option optional, which allows to subclass from Base, so we
16
14
  # can pass arguments to the ERB template.
17
15
  #
@@ -4,3 +4,681 @@ Connecting to database specified by DATABASE_URL
4
4
   (0.3ms) CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255))
5
5
   (0.1ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
6
6
   (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
7
+ Connecting to database specified by DATABASE_URL
8
+  (3.4ms) select sqlite_version(*)
9
+  (0.4ms) CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255))
10
+  (0.2ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
11
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
12
+ Started GET "/resque" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
13
+ Processing by DummyController#resque as HTML
14
+ Rendered dummy/resque.html.erb within layouts/application (1.1ms)
15
+ Completed 200 OK in 7.8ms (Views: 6.4ms | ActiveRecord: 0.0ms)
16
+ Started GET "/resque" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
17
+ Processing by DummyController#resque as HTML
18
+ Rendered dummy/resque.html.erb within layouts/application (0.2ms)
19
+ Completed 200 OK in 17.9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
20
+ Started GET "/" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
21
+ Processing by DummyController#index as HTML
22
+ Rendered dummy/index.html.erb within layouts/application (0.1ms)
23
+ Completed 200 OK in 0.9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
24
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
25
+ Processing by DummyController#crash as HTML
26
+ Completed 500 Internal Server Error in 0.2ms
27
+
28
+ AirbrakeTestError (AirbrakeTestError):
29
+ lib/airbrake/rack/middleware.rb:48:in `call'
30
+
31
+
32
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
33
+ Processing by DummyController#crash as HTML
34
+ Parameters: {"foo"=>"bar"}
35
+ Completed 500 Internal Server Error in 0.2ms
36
+
37
+ AirbrakeTestError (AirbrakeTestError):
38
+ lib/airbrake/rack/middleware.rb:48:in `call'
39
+
40
+
41
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
42
+ Processing by DummyController#crash as HTML
43
+ Parameters: {"foo"=>"bar"}
44
+ Completed 500 Internal Server Error in 0.2ms
45
+
46
+ AirbrakeTestError (AirbrakeTestError):
47
+ lib/airbrake/rack/middleware.rb:48:in `call'
48
+
49
+
50
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
51
+ Processing by DummyController#crash as HTML
52
+ Parameters: {"foo"=>"bar"}
53
+ Completed 500 Internal Server Error in 0.2ms
54
+
55
+ AirbrakeTestError (AirbrakeTestError):
56
+ lib/airbrake/rack/middleware.rb:48:in `call'
57
+
58
+
59
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:38 +0300
60
+ Processing by DummyController#crash as HTML
61
+ Parameters: {"foo"=>"bar"}
62
+ Completed 500 Internal Server Error in 0.2ms
63
+
64
+ AirbrakeTestError (AirbrakeTestError):
65
+ lib/airbrake/rack/middleware.rb:48:in `call'
66
+
67
+
68
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:41 +0300
69
+ Processing by DummyController#crash as HTML
70
+ Parameters: {"foo"=>"bar"}
71
+ Completed 500 Internal Server Error in 0.3ms
72
+
73
+ AirbrakeTestError (AirbrakeTestError):
74
+ lib/airbrake/rack/middleware.rb:48:in `call'
75
+
76
+
77
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:41 +0300
78
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
79
+ Parameters: {"foo"=>"bar"}
80
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
81
+ Completed 200 OK in 14.5ms (Views: 1.2ms | ActiveRecord: 0.0ms)
82
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:41 +0300
83
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
84
+ Parameters: {"foo"=>"bar"}
85
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
86
+ Completed 200 OK in 21.1ms (Views: 1.5ms | ActiveRecord: 0.0ms)
87
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:41 +0300
88
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
89
+ Parameters: {"foo"=>"bar"}
90
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.5ms)
91
+ Completed 200 OK in 21.2ms (Views: 1.2ms | ActiveRecord: 0.0ms)
92
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:41 +0300
93
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
94
+ Parameters: {"foo"=>"bar"}
95
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
96
+ Completed 200 OK in 14.1ms (Views: 1.1ms | ActiveRecord: 0.0ms)
97
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:41 +0300
98
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
99
+ Parameters: {"foo"=>"bar"}
100
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.1ms)
101
+ Completed 200 OK in 13.0ms (Views: 0.9ms | ActiveRecord: 0.0ms)
102
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:44 +0300
103
+ Processing by DummyController#notify_airbrake_helper as HTML
104
+ Parameters: {"foo"=>"bar"}
105
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
106
+ Completed 200 OK in 15.8ms (Views: 10.7ms | ActiveRecord: 0.0ms)
107
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:47 +0300
108
+ Processing by DummyController#notify_airbrake_helper as HTML
109
+ Parameters: {"foo"=>"bar"}
110
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
111
+ Completed 200 OK in 13.2ms (Views: 8.9ms | ActiveRecord: 0.0ms)
112
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:48 +0300
113
+ Processing by DummyController#notify_airbrake_helper as HTML
114
+ Parameters: {"foo"=>"bar"}
115
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
116
+ Completed 200 OK in 13.2ms (Views: 9.0ms | ActiveRecord: 0.0ms)
117
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:48 +0300
118
+ Processing by DummyController#notify_airbrake_helper as HTML
119
+ Parameters: {"foo"=>"bar"}
120
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
121
+ Completed 200 OK in 14.2ms (Views: 9.9ms | ActiveRecord: 0.0ms)
122
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:40:48 +0300
123
+ Processing by DummyController#notify_airbrake_helper as HTML
124
+ Parameters: {"foo"=>"bar"}
125
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.3ms)
126
+ Completed 200 OK in 13.7ms (Views: 8.8ms | ActiveRecord: 0.0ms)
127
+ Started GET "/delayed_job" for 127.0.0.1 at 2018-05-04 16:40:48 +0300
128
+ Processing by DummyController#delayed_job as HTML
129
+ Completed 500 Internal Server Error in 12.8ms
130
+
131
+ AirbrakeTestError (delayed_job error):
132
+ lib/airbrake/delayed_job.rb:10:in `block (2 levels) in <class:Airbrake>'
133
+ lib/airbrake/rack/middleware.rb:48:in `call'
134
+
135
+
136
+ Started GET "/delayed_job" for 127.0.0.1 at 2018-05-04 16:40:52 +0300
137
+ Processing by DummyController#delayed_job as HTML
138
+ Completed 500 Internal Server Error in 0.8ms
139
+
140
+ AirbrakeTestError (delayed_job error):
141
+ lib/airbrake/delayed_job.rb:10:in `block (2 levels) in <class:Airbrake>'
142
+ lib/airbrake/rack/middleware.rb:48:in `call'
143
+
144
+
145
+ Started GET "/active_record_after_rollback" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
146
+ Processing by DummyController#active_record_after_rollback as HTML
147
+  (0.0ms) begin transaction
148
+ SQL (1.9ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bango"]]
149
+  (0.0ms) rollback transaction
150
+ #<AirbrakeTestError: after_rollback>
151
+ Rendered dummy/active_record_after_rollback.html.erb within layouts/application (0.3ms)
152
+ Completed 200 OK in 30.0ms (Views: 1.1ms | ActiveRecord: 2.1ms)
153
+ Started GET "/active_record_after_commit" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
154
+ Processing by DummyController#active_record_after_commit as HTML
155
+  (0.1ms) begin transaction
156
+ SQL (0.0ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bingo"]]
157
+  (0.0ms) commit transaction
158
+ #<AirbrakeTestError: after_commit>
159
+ Rendered dummy/active_record_after_commit.html.erb within layouts/application (0.2ms)
160
+ Completed 200 OK in 17.8ms (Views: 1.2ms | ActiveRecord: 0.1ms)
161
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
162
+ Processing by DummyController#crash as HTML
163
+ Completed 500 Internal Server Error in 0.2ms
164
+
165
+ AirbrakeTestError (AirbrakeTestError):
166
+ lib/airbrake/rack/middleware.rb:48:in `call'
167
+
168
+
169
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
170
+ Processing by DummyController#crash as HTML
171
+ Completed 500 Internal Server Error in 0.2ms
172
+
173
+ AirbrakeTestError (AirbrakeTestError):
174
+ lib/airbrake/rack/middleware.rb:48:in `call'
175
+
176
+
177
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
178
+ Processing by DummyController#crash as HTML
179
+ Completed 500 Internal Server Error in 0.2ms
180
+
181
+ AirbrakeTestError (AirbrakeTestError):
182
+ lib/airbrake/rack/middleware.rb:48:in `call'
183
+
184
+
185
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
186
+ Processing by DummyController#crash as HTML
187
+ Completed 500 Internal Server Error in 0.3ms
188
+
189
+ AirbrakeTestError (AirbrakeTestError):
190
+ lib/airbrake/rack/middleware.rb:48:in `call'
191
+
192
+
193
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
194
+ Processing by DummyController#crash as HTML
195
+ Completed 500 Internal Server Error in 0.2ms
196
+
197
+ AirbrakeTestError (AirbrakeTestError):
198
+ lib/airbrake/rack/middleware.rb:48:in `call'
199
+
200
+
201
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
202
+ Processing by DummyController#crash as HTML
203
+ Completed 500 Internal Server Error in 0.2ms
204
+
205
+ AirbrakeTestError (AirbrakeTestError):
206
+ lib/airbrake/rack/middleware.rb:48:in `call'
207
+
208
+
209
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
210
+ Processing by DummyController#crash as HTML
211
+ Completed 500 Internal Server Error in 0.3ms
212
+
213
+ AirbrakeTestError (AirbrakeTestError):
214
+ lib/airbrake/rack/middleware.rb:48:in `call'
215
+
216
+
217
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
218
+ Processing by DummyController#crash as HTML
219
+ Completed 500 Internal Server Error in 0.3ms
220
+
221
+ AirbrakeTestError (AirbrakeTestError):
222
+ lib/airbrake/rack/middleware.rb:48:in `call'
223
+
224
+
225
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:40:54 +0300
226
+ Processing by DummyController#crash as HTML
227
+ Completed 500 Internal Server Error in 0.3ms
228
+
229
+ AirbrakeTestError (AirbrakeTestError):
230
+ lib/airbrake/rack/middleware.rb:48:in `call'
231
+
232
+
233
+ Connecting to database specified by DATABASE_URL
234
+  (1.1ms) select sqlite_version(*)
235
+  (0.3ms) CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255))
236
+  (0.1ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
237
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
238
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
239
+ Processing by DummyController#crash as HTML
240
+ Completed 500 Internal Server Error in 0.3ms
241
+
242
+ AirbrakeTestError (AirbrakeTestError):
243
+ lib/airbrake/rack/middleware.rb:48:in `call'
244
+
245
+
246
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
247
+ Processing by DummyController#crash as HTML
248
+ Completed 500 Internal Server Error in 0.2ms
249
+
250
+ AirbrakeTestError (AirbrakeTestError):
251
+ lib/airbrake/rack/middleware.rb:48:in `call'
252
+
253
+
254
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
255
+ Processing by DummyController#crash as HTML
256
+ Completed 500 Internal Server Error in 0.2ms
257
+
258
+ AirbrakeTestError (AirbrakeTestError):
259
+ lib/airbrake/rack/middleware.rb:48:in `call'
260
+
261
+
262
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
263
+ Processing by DummyController#crash as HTML
264
+ Completed 500 Internal Server Error in 0.3ms
265
+
266
+ AirbrakeTestError (AirbrakeTestError):
267
+ lib/airbrake/rack/middleware.rb:48:in `call'
268
+
269
+
270
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
271
+ Processing by DummyController#crash as HTML
272
+ Completed 500 Internal Server Error in 0.2ms
273
+
274
+ AirbrakeTestError (AirbrakeTestError):
275
+ lib/airbrake/rack/middleware.rb:48:in `call'
276
+
277
+
278
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
279
+ Processing by DummyController#crash as HTML
280
+ Completed 500 Internal Server Error in 0.2ms
281
+
282
+ AirbrakeTestError (AirbrakeTestError):
283
+ lib/airbrake/rack/middleware.rb:48:in `call'
284
+
285
+
286
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
287
+ Processing by DummyController#crash as HTML
288
+ Completed 500 Internal Server Error in 0.2ms
289
+
290
+ AirbrakeTestError (AirbrakeTestError):
291
+ lib/airbrake/rack/middleware.rb:48:in `call'
292
+
293
+
294
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
295
+ Processing by DummyController#crash as HTML
296
+ Completed 500 Internal Server Error in 0.2ms
297
+
298
+ AirbrakeTestError (AirbrakeTestError):
299
+ lib/airbrake/rack/middleware.rb:48:in `call'
300
+
301
+
302
+ Started GET "/active_record_after_commit" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
303
+ Processing by DummyController#active_record_after_commit as HTML
304
+  (0.0ms) begin transaction
305
+ SQL (0.1ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bingo"]]
306
+  (0.1ms) commit transaction
307
+ #<AirbrakeTestError: after_commit>
308
+ Rendered dummy/active_record_after_commit.html.erb within layouts/application (1.0ms)
309
+ Completed 200 OK in 21.3ms (Views: 13.4ms | ActiveRecord: 0.3ms)
310
+ Started GET "/active_record_after_rollback" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
311
+ Processing by DummyController#active_record_after_rollback as HTML
312
+  (0.0ms) begin transaction
313
+ SQL (0.0ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bango"]]
314
+  (0.0ms) rollback transaction
315
+ #<AirbrakeTestError: after_rollback>
316
+ Rendered dummy/active_record_after_rollback.html.erb within layouts/application (0.2ms)
317
+ Completed 200 OK in 24.9ms (Views: 1.0ms | ActiveRecord: 0.1ms)
318
+ Started GET "/delayed_job" for 127.0.0.1 at 2018-05-04 16:41:41 +0300
319
+ Processing by DummyController#delayed_job as HTML
320
+ Completed 500 Internal Server Error in 11.7ms
321
+
322
+ AirbrakeTestError (delayed_job error):
323
+ lib/airbrake/delayed_job.rb:10:in `block (2 levels) in <class:Airbrake>'
324
+ lib/airbrake/rack/middleware.rb:48:in `call'
325
+
326
+
327
+ Started GET "/delayed_job" for 127.0.0.1 at 2018-05-04 16:41:45 +0300
328
+ Processing by DummyController#delayed_job as HTML
329
+ Completed 500 Internal Server Error in 0.8ms
330
+
331
+ AirbrakeTestError (delayed_job error):
332
+ lib/airbrake/delayed_job.rb:10:in `block (2 levels) in <class:Airbrake>'
333
+ lib/airbrake/rack/middleware.rb:48:in `call'
334
+
335
+
336
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:47 +0300
337
+ Processing by DummyController#crash as HTML
338
+ Completed 500 Internal Server Error in 0.2ms
339
+
340
+ AirbrakeTestError (AirbrakeTestError):
341
+ lib/airbrake/rack/middleware.rb:48:in `call'
342
+
343
+
344
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:47 +0300
345
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
346
+ Parameters: {"foo"=>"bar"}
347
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
348
+ Completed 200 OK in 15.8ms (Views: 1.0ms | ActiveRecord: 0.0ms)
349
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:47 +0300
350
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
351
+ Parameters: {"foo"=>"bar"}
352
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
353
+ Completed 200 OK in 19.2ms (Views: 0.9ms | ActiveRecord: 0.0ms)
354
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:47 +0300
355
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
356
+ Parameters: {"foo"=>"bar"}
357
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
358
+ Completed 200 OK in 25.5ms (Views: 13.9ms | ActiveRecord: 0.0ms)
359
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:50 +0300
360
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
361
+ Parameters: {"foo"=>"bar"}
362
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
363
+ Completed 200 OK in 13.4ms (Views: 0.9ms | ActiveRecord: 0.0ms)
364
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:50 +0300
365
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
366
+ Parameters: {"foo"=>"bar"}
367
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.3ms)
368
+ Completed 200 OK in 13.5ms (Views: 1.2ms | ActiveRecord: 0.0ms)
369
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:50 +0300
370
+ Processing by DummyController#notify_airbrake_helper as HTML
371
+ Parameters: {"foo"=>"bar"}
372
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
373
+ Completed 200 OK in 15.0ms (Views: 10.5ms | ActiveRecord: 0.0ms)
374
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:50 +0300
375
+ Processing by DummyController#notify_airbrake_helper as HTML
376
+ Parameters: {"foo"=>"bar"}
377
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
378
+ Completed 200 OK in 12.5ms (Views: 8.6ms | ActiveRecord: 0.0ms)
379
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:51 +0300
380
+ Processing by DummyController#notify_airbrake_helper as HTML
381
+ Parameters: {"foo"=>"bar"}
382
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
383
+ Completed 200 OK in 13.3ms (Views: 9.3ms | ActiveRecord: 0.0ms)
384
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:54 +0300
385
+ Processing by DummyController#notify_airbrake_helper as HTML
386
+ Parameters: {"foo"=>"bar"}
387
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.3ms)
388
+ Completed 200 OK in 13.8ms (Views: 9.1ms | ActiveRecord: 0.0ms)
389
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:54 +0300
390
+ Processing by DummyController#notify_airbrake_helper as HTML
391
+ Parameters: {"foo"=>"bar"}
392
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
393
+ Completed 200 OK in 13.5ms (Views: 9.2ms | ActiveRecord: 0.0ms)
394
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:54 +0300
395
+ Processing by DummyController#crash as HTML
396
+ Parameters: {"foo"=>"bar"}
397
+ Completed 500 Internal Server Error in 0.1ms
398
+
399
+ AirbrakeTestError (AirbrakeTestError):
400
+ lib/airbrake/rack/middleware.rb:48:in `call'
401
+
402
+
403
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:54 +0300
404
+ Processing by DummyController#crash as HTML
405
+ Parameters: {"foo"=>"bar"}
406
+ Completed 500 Internal Server Error in 0.2ms
407
+
408
+ AirbrakeTestError (AirbrakeTestError):
409
+ lib/airbrake/rack/middleware.rb:48:in `call'
410
+
411
+
412
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:54 +0300
413
+ Processing by DummyController#crash as HTML
414
+ Parameters: {"foo"=>"bar"}
415
+ Completed 500 Internal Server Error in 0.2ms
416
+
417
+ AirbrakeTestError (AirbrakeTestError):
418
+ lib/airbrake/rack/middleware.rb:48:in `call'
419
+
420
+
421
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:57 +0300
422
+ Processing by DummyController#crash as HTML
423
+ Parameters: {"foo"=>"bar"}
424
+ Completed 500 Internal Server Error in 0.2ms
425
+
426
+ AirbrakeTestError (AirbrakeTestError):
427
+ lib/airbrake/rack/middleware.rb:48:in `call'
428
+
429
+
430
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:41:57 +0300
431
+ Processing by DummyController#crash as HTML
432
+ Parameters: {"foo"=>"bar"}
433
+ Completed 500 Internal Server Error in 0.2ms
434
+
435
+ AirbrakeTestError (AirbrakeTestError):
436
+ lib/airbrake/rack/middleware.rb:48:in `call'
437
+
438
+
439
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:41:57 +0300
440
+ Processing by DummyController#crash as HTML
441
+ Completed 500 Internal Server Error in 0.2ms
442
+
443
+ AirbrakeTestError (AirbrakeTestError):
444
+ lib/airbrake/rack/middleware.rb:48:in `call'
445
+
446
+
447
+ Started GET "/" for 127.0.0.1 at 2018-05-04 16:41:57 +0300
448
+ Processing by DummyController#index as HTML
449
+ Rendered dummy/index.html.erb within layouts/application (0.2ms)
450
+ Completed 200 OK in 1.3ms (Views: 1.0ms | ActiveRecord: 0.0ms)
451
+ Started GET "/resque" for 127.0.0.1 at 2018-05-04 16:41:57 +0300
452
+ Processing by DummyController#resque as HTML
453
+ Rendered dummy/resque.html.erb within layouts/application (0.2ms)
454
+ Completed 200 OK in 1.9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
455
+ Started GET "/resque" for 127.0.0.1 at 2018-05-04 16:41:57 +0300
456
+ Processing by DummyController#resque as HTML
457
+ Rendered dummy/resque.html.erb within layouts/application (0.2ms)
458
+ Completed 200 OK in 12.9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
459
+ Connecting to database specified by DATABASE_URL
460
+  (0.9ms) select sqlite_version(*)
461
+  (0.3ms) CREATE TABLE "books" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar(255))
462
+  (0.1ms) CREATE TABLE "delayed_jobs" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "priority" integer DEFAULT 0 NOT NULL, "attempts" integer DEFAULT 0 NOT NULL, "handler" text NOT NULL, "last_error" text, "run_at" datetime, "locked_at" datetime, "failed_at" datetime, "locked_by" varchar(255), "queue" varchar(255), "created_at" datetime, "updated_at" datetime) 
463
+  (0.1ms) CREATE INDEX "delayed_jobs_priority" ON "delayed_jobs" ("priority", "run_at")
464
+ Started GET "/resque" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
465
+ Processing by DummyController#resque as HTML
466
+ Rendered dummy/resque.html.erb within layouts/application (0.9ms)
467
+ Completed 200 OK in 17.7ms (Views: 5.6ms | ActiveRecord: 0.0ms)
468
+ Started GET "/resque" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
469
+ Processing by DummyController#resque as HTML
470
+ Rendered dummy/resque.html.erb within layouts/application (0.2ms)
471
+ Completed 200 OK in 1.7ms (Views: 0.8ms | ActiveRecord: 0.0ms)
472
+ Started GET "/active_record_after_rollback" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
473
+ Processing by DummyController#active_record_after_rollback as HTML
474
+  (0.0ms) begin transaction
475
+ SQL (0.1ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bango"]]
476
+  (0.0ms) rollback transaction
477
+ #<AirbrakeTestError: after_rollback>
478
+ Rendered dummy/active_record_after_rollback.html.erb within layouts/application (0.2ms)
479
+ Completed 200 OK in 29.8ms (Views: 1.3ms | ActiveRecord: 0.3ms)
480
+ Started GET "/active_record_after_commit" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
481
+ Processing by DummyController#active_record_after_commit as HTML
482
+  (0.0ms) begin transaction
483
+ SQL (0.0ms) INSERT INTO "books" ("title") VALUES (?) [["title", "Bingo"]]
484
+  (0.0ms) commit transaction
485
+ #<AirbrakeTestError: after_commit>
486
+ Rendered dummy/active_record_after_commit.html.erb within layouts/application (0.2ms)
487
+ Completed 200 OK in 13.6ms (Views: 0.8ms | ActiveRecord: 0.1ms)
488
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
489
+ Processing by DummyController#crash as HTML
490
+ Completed 500 Internal Server Error in 0.2ms
491
+
492
+ AirbrakeTestError (AirbrakeTestError):
493
+ lib/airbrake/rack/middleware.rb:48:in `call'
494
+
495
+
496
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
497
+ Processing by DummyController#notify_airbrake_helper as HTML
498
+ Parameters: {"foo"=>"bar"}
499
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.3ms)
500
+ Completed 200 OK in 13.6ms (Views: 9.2ms | ActiveRecord: 0.0ms)
501
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
502
+ Processing by DummyController#notify_airbrake_helper as HTML
503
+ Parameters: {"foo"=>"bar"}
504
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.1ms)
505
+ Completed 200 OK in 11.2ms (Views: 6.8ms | ActiveRecord: 0.0ms)
506
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
507
+ Processing by DummyController#notify_airbrake_helper as HTML
508
+ Parameters: {"foo"=>"bar"}
509
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
510
+ Completed 200 OK in 5.4ms (Views: 0.8ms | ActiveRecord: 0.0ms)
511
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
512
+ Processing by DummyController#notify_airbrake_helper as HTML
513
+ Parameters: {"foo"=>"bar"}
514
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
515
+ Completed 200 OK in 13.4ms (Views: 8.0ms | ActiveRecord: 0.0ms)
516
+ Started GET "/notify_airbrake_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
517
+ Processing by DummyController#notify_airbrake_helper as HTML
518
+ Parameters: {"foo"=>"bar"}
519
+ Rendered dummy/notify_airbrake_helper.html.erb within layouts/application (0.2ms)
520
+ Completed 200 OK in 4.7ms (Views: 0.9ms | ActiveRecord: 0.0ms)
521
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
522
+ Processing by DummyController#crash as HTML
523
+ Parameters: {"foo"=>"bar"}
524
+ Completed 500 Internal Server Error in 0.2ms
525
+
526
+ AirbrakeTestError (AirbrakeTestError):
527
+ lib/airbrake/rack/middleware.rb:48:in `call'
528
+
529
+
530
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
531
+ Processing by DummyController#crash as HTML
532
+ Parameters: {"foo"=>"bar"}
533
+ Completed 500 Internal Server Error in 0.2ms
534
+
535
+ AirbrakeTestError (AirbrakeTestError):
536
+ lib/airbrake/rack/middleware.rb:48:in `call'
537
+
538
+
539
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
540
+ Processing by DummyController#crash as HTML
541
+ Parameters: {"foo"=>"bar"}
542
+ Completed 500 Internal Server Error in 0.2ms
543
+
544
+ AirbrakeTestError (AirbrakeTestError):
545
+ lib/airbrake/rack/middleware.rb:48:in `call'
546
+
547
+
548
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
549
+ Processing by DummyController#crash as HTML
550
+ Parameters: {"foo"=>"bar"}
551
+ Completed 500 Internal Server Error in 0.2ms
552
+
553
+ AirbrakeTestError (AirbrakeTestError):
554
+ lib/airbrake/rack/middleware.rb:48:in `call'
555
+
556
+
557
+ Started GET "/crash?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:32 +0300
558
+ Processing by DummyController#crash as HTML
559
+ Parameters: {"foo"=>"bar"}
560
+ Completed 500 Internal Server Error in 0.2ms
561
+
562
+ AirbrakeTestError (AirbrakeTestError):
563
+ lib/airbrake/rack/middleware.rb:48:in `call'
564
+
565
+
566
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:33 +0300
567
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
568
+ Parameters: {"foo"=>"bar"}
569
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
570
+ Completed 200 OK in 15.6ms (Views: 1.3ms | ActiveRecord: 0.0ms)
571
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:33 +0300
572
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
573
+ Parameters: {"foo"=>"bar"}
574
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
575
+ Completed 200 OK in 12.4ms (Views: 1.0ms | ActiveRecord: 0.0ms)
576
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:33 +0300
577
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
578
+ Parameters: {"foo"=>"bar"}
579
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
580
+ Completed 200 OK in 13.0ms (Views: 1.1ms | ActiveRecord: 0.0ms)
581
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:33 +0300
582
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
583
+ Parameters: {"foo"=>"bar"}
584
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
585
+ Completed 200 OK in 13.1ms (Views: 0.9ms | ActiveRecord: 0.0ms)
586
+ Started GET "/notify_airbrake_sync_helper?foo=bar" for 127.0.0.1 at 2018-05-04 16:42:33 +0300
587
+ Processing by DummyController#notify_airbrake_sync_helper as HTML
588
+ Parameters: {"foo"=>"bar"}
589
+ Rendered dummy/notify_airbrake_sync_helper.html.erb within layouts/application (0.2ms)
590
+ Completed 200 OK in 12.9ms (Views: 1.1ms | ActiveRecord: 0.0ms)
591
+ Started GET "/delayed_job" for 127.0.0.1 at 2018-05-04 16:42:33 +0300
592
+ Processing by DummyController#delayed_job as HTML
593
+ Completed 500 Internal Server Error in 15.5ms
594
+
595
+ AirbrakeTestError (delayed_job error):
596
+ lib/airbrake/delayed_job.rb:10:in `block (2 levels) in <class:Airbrake>'
597
+ lib/airbrake/rack/middleware.rb:48:in `call'
598
+
599
+
600
+ Started GET "/delayed_job" for 127.0.0.1 at 2018-05-04 16:42:37 +0300
601
+ Processing by DummyController#delayed_job as HTML
602
+ Completed 500 Internal Server Error in 0.8ms
603
+
604
+ AirbrakeTestError (delayed_job error):
605
+ lib/airbrake/delayed_job.rb:10:in `block (2 levels) in <class:Airbrake>'
606
+ lib/airbrake/rack/middleware.rb:48:in `call'
607
+
608
+
609
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
610
+ Processing by DummyController#crash as HTML
611
+ Completed 500 Internal Server Error in 0.2ms
612
+
613
+ AirbrakeTestError (AirbrakeTestError):
614
+ lib/airbrake/rack/middleware.rb:48:in `call'
615
+
616
+
617
+ Started GET "/" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
618
+ Processing by DummyController#index as HTML
619
+ Rendered dummy/index.html.erb within layouts/application (0.1ms)
620
+ Completed 200 OK in 0.9ms (Views: 0.8ms | ActiveRecord: 0.0ms)
621
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
622
+ Processing by DummyController#crash as HTML
623
+ Completed 500 Internal Server Error in 0.3ms
624
+
625
+ AirbrakeTestError (AirbrakeTestError):
626
+ lib/airbrake/rack/middleware.rb:48:in `call'
627
+
628
+
629
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
630
+ Processing by DummyController#crash as HTML
631
+ Completed 500 Internal Server Error in 0.2ms
632
+
633
+ AirbrakeTestError (AirbrakeTestError):
634
+ lib/airbrake/rack/middleware.rb:48:in `call'
635
+
636
+
637
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
638
+ Processing by DummyController#crash as HTML
639
+ Completed 500 Internal Server Error in 0.2ms
640
+
641
+ AirbrakeTestError (AirbrakeTestError):
642
+ lib/airbrake/rack/middleware.rb:48:in `call'
643
+
644
+
645
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
646
+ Processing by DummyController#crash as HTML
647
+ Completed 500 Internal Server Error in 0.2ms
648
+
649
+ AirbrakeTestError (AirbrakeTestError):
650
+ lib/airbrake/rack/middleware.rb:48:in `call'
651
+
652
+
653
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
654
+ Processing by DummyController#crash as HTML
655
+ Completed 500 Internal Server Error in 0.2ms
656
+
657
+ AirbrakeTestError (AirbrakeTestError):
658
+ lib/airbrake/rack/middleware.rb:48:in `call'
659
+
660
+
661
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
662
+ Processing by DummyController#crash as HTML
663
+ Completed 500 Internal Server Error in 0.2ms
664
+
665
+ AirbrakeTestError (AirbrakeTestError):
666
+ lib/airbrake/rack/middleware.rb:48:in `call'
667
+
668
+
669
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
670
+ Processing by DummyController#crash as HTML
671
+ Completed 500 Internal Server Error in 0.2ms
672
+
673
+ AirbrakeTestError (AirbrakeTestError):
674
+ lib/airbrake/rack/middleware.rb:48:in `call'
675
+
676
+
677
+ Started GET "/crash" for 127.0.0.1 at 2018-05-04 16:42:39 +0300
678
+ Processing by DummyController#crash as HTML
679
+ Completed 500 Internal Server Error in 0.2ms
680
+
681
+ AirbrakeTestError (AirbrakeTestError):
682
+ lib/airbrake/rack/middleware.rb:48:in `call'
683
+
684
+
@@ -10,7 +10,7 @@ RSpec.describe "Rack integration specs" do
10
10
  it "includes version" do
11
11
  get '/crash'
12
12
  wait_for_a_request_with_body(
13
- /"context":{.*"version":"1.2.3 Rack\.version.+Rack\.release/
13
+ /"context":{.*"versions":{"rack_version":"\d\..+","rack_release":"\d\..+"}/
14
14
  )
15
15
  end
16
16
  end
@@ -53,7 +53,7 @@ RSpec.describe "Rails integration specs" do
53
53
  end
54
54
 
55
55
  it "includes version" do
56
- wait_for_a_request_with_body(/"context":{.*"version":"1.2.3 Rails/)
56
+ wait_for_a_request_with_body(/"context":{.*"versions":{"rails":"\d\./)
57
57
  end
58
58
 
59
59
  it "includes session" do
@@ -15,7 +15,7 @@ RSpec.describe "Sinatra integration specs" do
15
15
  describe "context payload" do
16
16
  it "includes version" do
17
17
  get '/crash'
18
- wait_for_a_request_with_body(/"context":{.*"version":"1.2.3 Sinatra/)
18
+ wait_for_a_request_with_body(/"context":{.*"versions":{"sinatra":"\d\./)
19
19
  end
20
20
  end
21
21
 
@@ -18,8 +18,10 @@ RSpec.describe Airbrake::Rack::ContextFilter do
18
18
 
19
19
  it "adds framework version to the context" do
20
20
  subject.call(notice)
21
- expect(notice[:context][:version]).
22
- to match(/\d.\d.\d Rack\.version.+Rack\.release/)
21
+ expect(notice[:context][:versions]).to include(
22
+ 'rack_version' => a_string_matching(/\d.\d/),
23
+ 'rack_release' => a_string_matching(/\d.\d\.\d/)
24
+ )
23
25
  end
24
26
 
25
27
  context "when URL is present" do
@@ -76,7 +76,7 @@ RSpec.describe Airbrake::Rack::Middleware do
76
76
  to raise_error(AirbrakeTestError)
77
77
 
78
78
  wait_for_a_request_with_body(
79
- %r("context":{.*"version":"1.2.3 (Rails|Sinatra|Rack\.version)/.+".+})
79
+ /"context":{.*"versions":{"(rails|sinatra|rack_version)"/
80
80
  )
81
81
  end
82
82
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.3.0
4
+ version: 7.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-04-25 00:00:00.000000000 Z
11
+ date: 2018-05-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: airbrake-ruby
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: '2.5'
19
+ version: '2.10'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: '2.5'
26
+ version: '2.10'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rspec
29
29
  requirement: !ruby/object:Gem::Requirement