airbrake 10.0.2 → 13.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/airbrake/capistrano/capistrano2.rb +1 -1
- data/lib/airbrake/capistrano/capistrano3.rb +1 -1
- data/lib/airbrake/delayed_job.rb +28 -30
- data/lib/airbrake/logger.rb +3 -1
- data/lib/airbrake/rack/context_filter.rb +10 -6
- data/lib/airbrake/rack/http_headers_filter.rb +4 -4
- data/lib/airbrake/rack/instrumentable.rb +9 -5
- data/lib/airbrake/rack/route_filter.rb +3 -1
- data/lib/airbrake/rack/user.rb +2 -0
- data/lib/airbrake/rack.rb +2 -0
- data/lib/airbrake/rails/action_cable.rb +19 -17
- data/lib/airbrake/rails/action_controller.rb +3 -0
- data/lib/airbrake/rails/action_controller_notify_subscriber.rb +2 -0
- data/lib/airbrake/rails/action_controller_performance_breakdown_subscriber.rb +2 -0
- data/lib/airbrake/rails/action_controller_route_subscriber.rb +2 -0
- data/lib/airbrake/rails/active_job.rb +2 -2
- data/lib/airbrake/rails/active_record_subscriber.rb +2 -0
- data/lib/airbrake/rails/app.rb +22 -0
- data/lib/airbrake/rails/backtrace_cleaner.rb +11 -0
- data/lib/airbrake/rails/curb.rb +18 -23
- data/lib/airbrake/rails/event.rb +14 -2
- data/lib/airbrake/rails/excon_subscriber.rb +2 -0
- data/lib/airbrake/rails/http.rb +12 -8
- data/lib/airbrake/rails/http_client.rb +11 -7
- data/lib/airbrake/rails/railtie.rb +7 -99
- data/lib/airbrake/rails/railties/action_controller_tie.rb +90 -0
- data/lib/airbrake/rails/railties/active_record_tie.rb +74 -0
- data/lib/airbrake/rails/railties/middleware_tie.rb +62 -0
- data/lib/airbrake/rails/typhoeus.rb +10 -8
- data/lib/airbrake/rails.rb +6 -8
- data/lib/airbrake/rake/tasks.rb +10 -10
- data/lib/airbrake/rake.rb +47 -46
- data/lib/airbrake/resque.rb +26 -25
- data/lib/airbrake/shoryuken.rb +2 -4
- data/lib/airbrake/sidekiq/retryable_jobs_filter.rb +14 -8
- data/lib/airbrake/sidekiq.rb +5 -6
- data/lib/airbrake/sneakers.rb +28 -27
- data/lib/airbrake/version.rb +1 -1
- data/lib/generators/airbrake_generator.rb +3 -6
- data/lib/generators/airbrake_initializer.rb.erb +65 -65
- metadata +52 -138
data/lib/airbrake/sidekiq.rb
CHANGED
@@ -6,10 +6,8 @@ module Airbrake
|
|
6
6
|
module Sidekiq
|
7
7
|
# Provides integration with Sidekiq v2+.
|
8
8
|
class ErrorHandler
|
9
|
-
def call(_worker, context, _queue)
|
10
|
-
timing = Airbrake::Benchmark.measure
|
11
|
-
yield
|
12
|
-
end
|
9
|
+
def call(_worker, context, _queue, &block)
|
10
|
+
timing = Airbrake::Benchmark.measure(&block)
|
13
11
|
rescue Exception => exception # rubocop:disable Lint/RescueException
|
14
12
|
notify_airbrake(exception, context)
|
15
13
|
Airbrake.notify_queue(
|
@@ -29,7 +27,7 @@ module Airbrake
|
|
29
27
|
private
|
30
28
|
|
31
29
|
def notify_airbrake(exception, context)
|
32
|
-
Airbrake.notify(exception, context) do |notice|
|
30
|
+
Airbrake.notify(exception, job: context) do |notice|
|
33
31
|
notice[:context][:component] = 'sidekiq'
|
34
32
|
notice[:context][:action] = action(context)
|
35
33
|
end
|
@@ -38,9 +36,10 @@ module Airbrake
|
|
38
36
|
# @return [String] job's name. When ActiveJob is present, retrieve
|
39
37
|
# job_class. When used directly, use worker's name
|
40
38
|
def action(context)
|
41
|
-
klass = context['class'] || context[:job] && context[:job]['class']
|
39
|
+
klass = context['class'] || (context[:job] && context[:job]['class'])
|
42
40
|
return klass unless context[:job] && context[:job]['args'].first.is_a?(Hash)
|
43
41
|
return klass unless (job_class = context[:job]['args'].first['job_class'])
|
42
|
+
|
44
43
|
job_class
|
45
44
|
end
|
46
45
|
end
|
data/lib/airbrake/sneakers.rb
CHANGED
@@ -26,6 +26,7 @@ module Airbrake
|
|
26
26
|
|
27
27
|
def filter_context(context)
|
28
28
|
return context unless context[:delivery_info]
|
29
|
+
|
29
30
|
h = context.dup
|
30
31
|
h[:delivery_info] = context[:delivery_info].reject do |k, _v|
|
31
32
|
IGNORED_KEYS.include?(k)
|
@@ -38,34 +39,34 @@ end
|
|
38
39
|
|
39
40
|
Sneakers.error_reporters << Airbrake::Sneakers::ErrorReporter.new
|
40
41
|
|
41
|
-
module
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
42
|
+
module Airbrake
|
43
|
+
module Sneakers
|
44
|
+
# @todo Migrate to Sneakers v2.12.0 middleware API when it's released
|
45
|
+
# @see https://github.com/jondot/sneakers/pull/364
|
46
|
+
module Worker
|
47
|
+
# Sneakers v2.7.0+ renamed `do_work` to `process_work`.
|
48
|
+
define_method(
|
49
|
+
::Sneakers::Worker.method_defined?(:process_work) ? :process_work : :do_work,
|
50
|
+
) do |delivery_info, metadata, msg, handler|
|
51
|
+
timing = Airbrake::Benchmark.measure do
|
52
|
+
super(delivery_info, metadata, msg, handler)
|
53
|
+
end
|
54
|
+
rescue Exception => exception # rubocop:disable Lint/RescueException
|
55
|
+
Airbrake.notify_queue(
|
56
|
+
queue: self.class.to_s,
|
57
|
+
error_count: 1,
|
58
|
+
timing: 0.01,
|
59
|
+
)
|
60
|
+
raise exception
|
61
|
+
else
|
62
|
+
Airbrake.notify_queue(
|
63
|
+
queue: self.class.to_s,
|
64
|
+
error_count: 0,
|
65
|
+
timing: timing,
|
66
|
+
)
|
55
67
|
end
|
56
|
-
rescue Exception => exception # rubocop:disable Lint/RescueException
|
57
|
-
Airbrake.notify_queue(
|
58
|
-
queue: self.class.to_s,
|
59
|
-
error_count: 1,
|
60
|
-
timing: 0.01,
|
61
|
-
)
|
62
|
-
raise exception
|
63
|
-
else
|
64
|
-
Airbrake.notify_queue(
|
65
|
-
queue: self.class.to_s,
|
66
|
-
error_count: 0,
|
67
|
-
timing: timing,
|
68
|
-
)
|
69
68
|
end
|
70
69
|
end
|
71
70
|
end
|
71
|
+
|
72
|
+
Sneakers::Worker.prepend(Airbrake::Sneakers::Worker)
|
data/lib/airbrake/version.rb
CHANGED
@@ -3,22 +3,19 @@
|
|
3
3
|
# Creates the Airbrake initializer file for Rails apps.
|
4
4
|
#
|
5
5
|
# @example Invokation from terminal
|
6
|
-
# rails generate airbrake
|
6
|
+
# rails generate airbrake [NAME]
|
7
7
|
#
|
8
8
|
class AirbrakeGenerator < Rails::Generators::Base
|
9
9
|
# Adds current directory to source paths, so we can find the template file.
|
10
10
|
source_root File.expand_path(__dir__)
|
11
11
|
|
12
|
-
argument :project_id, required: false
|
13
|
-
argument :project_key, required: false
|
14
|
-
|
15
12
|
# Makes the NAME option optional, which allows to subclass from Base, so we
|
16
13
|
# can pass arguments to the ERB template.
|
17
14
|
#
|
18
|
-
# @see
|
15
|
+
# @see https://asciicasts.com/episodes/218-making-generators-in-rails-3.html
|
19
16
|
argument :name, type: :string, default: 'application'
|
20
17
|
|
21
|
-
desc 'Configures the Airbrake notifier
|
18
|
+
desc 'Configures the Airbrake notifier'
|
22
19
|
def generate_layout
|
23
20
|
template 'airbrake_initializer.rb.erb', 'config/initializers/airbrake.rb'
|
24
21
|
end
|
@@ -1,80 +1,80 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Airbrake is an online tool that provides robust exception tracking in your
|
4
|
-
# applications. In doing so, it allows you to easily review errors, tie an
|
5
|
-
# to an individual piece of code, and trace the cause back to recent
|
6
|
-
# changes. Airbrake enables for easy categorization, searching, and
|
7
|
-
# of exceptions so that when errors occur, your team can quickly
|
8
|
-
# root cause.
|
3
|
+
# Airbrake is an online tool that provides robust exception tracking in your
|
4
|
+
# Rails applications. In doing so, it allows you to easily review errors, tie an
|
5
|
+
# error to an individual piece of code, and trace the cause back to recent
|
6
|
+
# changes. Airbrake enables for easy categorization, searching, and
|
7
|
+
# prioritization of exceptions so that when errors occur, your team can quickly
|
8
|
+
# determine the root cause.
|
9
9
|
#
|
10
10
|
# Configuration details:
|
11
11
|
# https://github.com/airbrake/airbrake-ruby#configuration
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
<% end -%>
|
22
|
-
<% if project_key -%>
|
23
|
-
c.project_key = '<%= project_key %>'
|
24
|
-
<% else -%>
|
25
|
-
c.project_key = ENV['AIRBRAKE_API_KEY']
|
26
|
-
<% end -%>
|
12
|
+
if (project_id = ENV['AIRBRAKE_PROJECT_ID']) &&
|
13
|
+
project_key = (ENV['AIRBRAKE_PROJECT_KEY'] || ENV['AIRBRAKE_API_KEY'])
|
14
|
+
Airbrake.configure do |c|
|
15
|
+
# You must set both project_id & project_key. To find your project_id and
|
16
|
+
# project_key navigate to your project's General Settings and copy the
|
17
|
+
# values from the right sidebar.
|
18
|
+
# https://github.com/airbrake/airbrake-ruby#project_id--project_key
|
19
|
+
c.project_id = project_id
|
20
|
+
c.project_key = project_key
|
27
21
|
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
22
|
+
# Configures the root directory of your project. Expects a String or a
|
23
|
+
# Pathname, which represents the path to your project. Providing this option
|
24
|
+
# helps us to filter out repetitive data from backtrace frames and link to
|
25
|
+
# GitHub files from our dashboard.
|
26
|
+
# https://github.com/airbrake/airbrake-ruby#root_directory
|
27
|
+
c.root_directory = Rails.root
|
34
28
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
29
|
+
# By default, Airbrake Ruby outputs to STDOUT. In Rails apps it makes sense
|
30
|
+
# to use the Rails' logger.
|
31
|
+
# https://github.com/airbrake/airbrake-ruby#logger
|
32
|
+
c.logger = Airbrake::Rails.logger
|
39
33
|
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
34
|
+
# Configures the environment the application is running in. Helps the
|
35
|
+
# Airbrake dashboard to distinguish between exceptions occurring in
|
36
|
+
# different environments.
|
37
|
+
# NOTE: This option must be set in order to make the 'ignore_environments'
|
38
|
+
# option work.
|
39
|
+
# https://github.com/airbrake/airbrake-ruby#environment
|
40
|
+
c.environment = Rails.env
|
47
41
|
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
42
|
+
# Setting this option allows Airbrake to filter exceptions occurring in
|
43
|
+
# unwanted environments such as :test. NOTE: This option *does not* work if
|
44
|
+
# you don't set the 'environment' option.
|
45
|
+
# https://github.com/airbrake/airbrake-ruby#ignore_environments
|
46
|
+
c.ignore_environments = %w[test]
|
53
47
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
48
|
+
# A list of parameters that should be filtered out of what is sent to
|
49
|
+
# Airbrake. By default, all "password" attributes will have their contents
|
50
|
+
# replaced.
|
51
|
+
# https://github.com/airbrake/airbrake-ruby#blocklist_keys
|
52
|
+
c.blocklist_keys = [/password/i, /authorization/i]
|
59
53
|
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
end
|
54
|
+
# Alternatively, you can integrate with Rails' filter_parameters.
|
55
|
+
# Read more: https://goo.gl/gqQ1xS
|
56
|
+
# c.blocklist_keys = Rails.application.config.filter_parameters
|
57
|
+
end
|
64
58
|
|
65
|
-
# A filter that collects request body information. Enable it if you are sure you
|
66
|
-
# don't send sensitive information to Airbrake in your body (such as passwords).
|
67
|
-
# https://github.com/airbrake/airbrake#requestbodyfilter
|
68
|
-
# Airbrake.add_filter(Airbrake::Rack::RequestBodyFilter.new)
|
59
|
+
# A filter that collects request body information. Enable it if you are sure you
|
60
|
+
# don't send sensitive information to Airbrake in your body (such as passwords).
|
61
|
+
# https://github.com/airbrake/airbrake#requestbodyfilter
|
62
|
+
# Airbrake.add_filter(Airbrake::Rack::RequestBodyFilter.new)
|
69
63
|
|
70
|
-
# Attaches thread & fiber local variables along with general thread information.
|
71
|
-
# Airbrake.add_filter(Airbrake::Filters::ThreadFilter.new)
|
64
|
+
# Attaches thread & fiber local variables along with general thread information.
|
65
|
+
# Airbrake.add_filter(Airbrake::Filters::ThreadFilter.new)
|
72
66
|
|
73
|
-
# Attaches loaded dependencies to the notice object
|
74
|
-
# (under context/versions/dependencies).
|
75
|
-
# Airbrake.add_filter(Airbrake::Filters::DependencyFilter.new)
|
67
|
+
# Attaches loaded dependencies to the notice object
|
68
|
+
# (under context/versions/dependencies).
|
69
|
+
# Airbrake.add_filter(Airbrake::Filters::DependencyFilter.new)
|
76
70
|
|
77
|
-
# If you want to convert your log messages to Airbrake errors, we offer an
|
78
|
-
# integration with the Logger class from stdlib.
|
79
|
-
# https://github.com/airbrake/airbrake#logger
|
80
|
-
# Rails.logger = Airbrake::AirbrakeLogger.new(Rails.logger)
|
71
|
+
# If you want to convert your log messages to Airbrake errors, we offer an
|
72
|
+
# integration with the Logger class from stdlib.
|
73
|
+
# https://github.com/airbrake/airbrake#logger
|
74
|
+
# Rails.logger = Airbrake::AirbrakeLogger.new(Rails.logger)
|
75
|
+
else
|
76
|
+
Rails.logger.warn(
|
77
|
+
"#{__FILE__}: Airbrake project id or project key is not set. " \
|
78
|
+
"Skipping Airbrake configuration"
|
79
|
+
)
|
80
|
+
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:
|
4
|
+
version: 13.0.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Airbrake Technologies, Inc.
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-11-28 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: '
|
19
|
+
version: '6.0'
|
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: '
|
26
|
+
version: '6.0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
61
|
+
version: '13'
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
68
|
+
version: '13'
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: pry
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -84,32 +84,18 @@ dependencies:
|
|
84
84
|
name: appraisal
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - "
|
87
|
+
- - ">="
|
88
88
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
89
|
+
version: '0'
|
90
90
|
type: :development
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - "
|
94
|
+
- - ">="
|
95
95
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
96
|
+
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: rack
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - "~>"
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '1'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - "~>"
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '1'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: webmock
|
113
99
|
requirement: !ruby/object:Gem::Requirement
|
114
100
|
requirements:
|
115
101
|
- - "~>"
|
@@ -123,71 +109,40 @@ dependencies:
|
|
123
109
|
- !ruby/object:Gem::Version
|
124
110
|
version: '2'
|
125
111
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
112
|
+
name: webmock
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
128
114
|
requirements:
|
129
115
|
- - "~>"
|
130
116
|
- !ruby/object:Gem::Version
|
131
|
-
version: '
|
117
|
+
version: '3'
|
132
118
|
type: :development
|
133
119
|
prerelease: false
|
134
120
|
version_requirements: !ruby/object:Gem::Requirement
|
135
121
|
requirements:
|
136
122
|
- - "~>"
|
137
123
|
- !ruby/object:Gem::Version
|
138
|
-
version: '
|
124
|
+
version: '3'
|
139
125
|
- !ruby/object:Gem::Dependency
|
140
126
|
name: amq-protocol
|
141
127
|
requirement: !ruby/object:Gem::Requirement
|
142
128
|
requirements:
|
143
|
-
- -
|
129
|
+
- - ">="
|
144
130
|
- !ruby/object:Gem::Version
|
145
|
-
version:
|
131
|
+
version: '0'
|
146
132
|
type: :development
|
147
133
|
prerelease: false
|
148
134
|
version_requirements: !ruby/object:Gem::Requirement
|
149
135
|
requirements:
|
150
|
-
- -
|
136
|
+
- - ">="
|
151
137
|
- !ruby/object:Gem::Version
|
152
|
-
version:
|
138
|
+
version: '0'
|
153
139
|
- !ruby/object:Gem::Dependency
|
154
140
|
name: rack-test
|
155
|
-
requirement: !ruby/object:Gem::Requirement
|
156
|
-
requirements:
|
157
|
-
- - '='
|
158
|
-
- !ruby/object:Gem::Version
|
159
|
-
version: 0.6.3
|
160
|
-
type: :development
|
161
|
-
prerelease: false
|
162
|
-
version_requirements: !ruby/object:Gem::Requirement
|
163
|
-
requirements:
|
164
|
-
- - '='
|
165
|
-
- !ruby/object:Gem::Version
|
166
|
-
version: 0.6.3
|
167
|
-
- !ruby/object:Gem::Dependency
|
168
|
-
name: redis
|
169
|
-
requirement: !ruby/object:Gem::Requirement
|
170
|
-
requirements:
|
171
|
-
- - '='
|
172
|
-
- !ruby/object:Gem::Version
|
173
|
-
version: 3.3.3
|
174
|
-
type: :development
|
175
|
-
prerelease: false
|
176
|
-
version_requirements: !ruby/object:Gem::Requirement
|
177
|
-
requirements:
|
178
|
-
- - '='
|
179
|
-
- !ruby/object:Gem::Version
|
180
|
-
version: 3.3.3
|
181
|
-
- !ruby/object:Gem::Dependency
|
182
|
-
name: public_suffix
|
183
141
|
requirement: !ruby/object:Gem::Requirement
|
184
142
|
requirements:
|
185
143
|
- - "~>"
|
186
144
|
- !ruby/object:Gem::Version
|
187
145
|
version: '2.0'
|
188
|
-
- - "<"
|
189
|
-
- !ruby/object:Gem::Version
|
190
|
-
version: '3.0'
|
191
146
|
type: :development
|
192
147
|
prerelease: false
|
193
148
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -195,107 +150,48 @@ dependencies:
|
|
195
150
|
- - "~>"
|
196
151
|
- !ruby/object:Gem::Version
|
197
152
|
version: '2.0'
|
198
|
-
- - "<"
|
199
|
-
- !ruby/object:Gem::Version
|
200
|
-
version: '3.0'
|
201
|
-
- !ruby/object:Gem::Dependency
|
202
|
-
name: nokogiri
|
203
|
-
requirement: !ruby/object:Gem::Requirement
|
204
|
-
requirements:
|
205
|
-
- - '='
|
206
|
-
- !ruby/object:Gem::Version
|
207
|
-
version: 1.9.1
|
208
|
-
type: :development
|
209
|
-
prerelease: false
|
210
|
-
version_requirements: !ruby/object:Gem::Requirement
|
211
|
-
requirements:
|
212
|
-
- - '='
|
213
|
-
- !ruby/object:Gem::Version
|
214
|
-
version: 1.9.1
|
215
153
|
- !ruby/object:Gem::Dependency
|
216
|
-
name:
|
217
|
-
requirement: !ruby/object:Gem::Requirement
|
218
|
-
requirements:
|
219
|
-
- - '='
|
220
|
-
- !ruby/object:Gem::Version
|
221
|
-
version: 1.13.0
|
222
|
-
type: :development
|
223
|
-
prerelease: false
|
224
|
-
version_requirements: !ruby/object:Gem::Requirement
|
225
|
-
requirements:
|
226
|
-
- - '='
|
227
|
-
- !ruby/object:Gem::Version
|
228
|
-
version: 1.13.0
|
229
|
-
- !ruby/object:Gem::Dependency
|
230
|
-
name: minitest
|
231
|
-
requirement: !ruby/object:Gem::Requirement
|
232
|
-
requirements:
|
233
|
-
- - '='
|
234
|
-
- !ruby/object:Gem::Version
|
235
|
-
version: 5.11.3
|
236
|
-
type: :development
|
237
|
-
prerelease: false
|
238
|
-
version_requirements: !ruby/object:Gem::Requirement
|
239
|
-
requirements:
|
240
|
-
- - '='
|
241
|
-
- !ruby/object:Gem::Version
|
242
|
-
version: 5.11.3
|
243
|
-
- !ruby/object:Gem::Dependency
|
244
|
-
name: rack-cache
|
245
|
-
requirement: !ruby/object:Gem::Requirement
|
246
|
-
requirements:
|
247
|
-
- - '='
|
248
|
-
- !ruby/object:Gem::Version
|
249
|
-
version: 1.9.0
|
250
|
-
type: :development
|
251
|
-
prerelease: false
|
252
|
-
version_requirements: !ruby/object:Gem::Requirement
|
253
|
-
requirements:
|
254
|
-
- - '='
|
255
|
-
- !ruby/object:Gem::Version
|
256
|
-
version: 1.9.0
|
257
|
-
- !ruby/object:Gem::Dependency
|
258
|
-
name: redis-namespace
|
154
|
+
name: redis
|
259
155
|
requirement: !ruby/object:Gem::Requirement
|
260
156
|
requirements:
|
261
|
-
- -
|
157
|
+
- - "~>"
|
262
158
|
- !ruby/object:Gem::Version
|
263
|
-
version:
|
159
|
+
version: '4.5'
|
264
160
|
type: :development
|
265
161
|
prerelease: false
|
266
162
|
version_requirements: !ruby/object:Gem::Requirement
|
267
163
|
requirements:
|
268
|
-
- -
|
164
|
+
- - "~>"
|
269
165
|
- !ruby/object:Gem::Version
|
270
|
-
version:
|
166
|
+
version: '4.5'
|
271
167
|
- !ruby/object:Gem::Dependency
|
272
168
|
name: sidekiq
|
273
169
|
requirement: !ruby/object:Gem::Requirement
|
274
170
|
requirements:
|
275
171
|
- - "~>"
|
276
172
|
- !ruby/object:Gem::Version
|
277
|
-
version: '
|
173
|
+
version: '6'
|
278
174
|
type: :development
|
279
175
|
prerelease: false
|
280
176
|
version_requirements: !ruby/object:Gem::Requirement
|
281
177
|
requirements:
|
282
178
|
- - "~>"
|
283
179
|
- !ruby/object:Gem::Version
|
284
|
-
version: '
|
180
|
+
version: '6'
|
285
181
|
- !ruby/object:Gem::Dependency
|
286
182
|
name: curb
|
287
183
|
requirement: !ruby/object:Gem::Requirement
|
288
184
|
requirements:
|
289
185
|
- - "~>"
|
290
186
|
- !ruby/object:Gem::Version
|
291
|
-
version: '0
|
187
|
+
version: '1.0'
|
292
188
|
type: :development
|
293
189
|
prerelease: false
|
294
190
|
version_requirements: !ruby/object:Gem::Requirement
|
295
191
|
requirements:
|
296
192
|
- - "~>"
|
297
193
|
- !ruby/object:Gem::Version
|
298
|
-
version: '0
|
194
|
+
version: '1.0'
|
299
195
|
- !ruby/object:Gem::Dependency
|
300
196
|
name: excon
|
301
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -316,14 +212,14 @@ dependencies:
|
|
316
212
|
requirements:
|
317
213
|
- - "~>"
|
318
214
|
- !ruby/object:Gem::Version
|
319
|
-
version: '
|
215
|
+
version: '5.0'
|
320
216
|
type: :development
|
321
217
|
prerelease: false
|
322
218
|
version_requirements: !ruby/object:Gem::Requirement
|
323
219
|
requirements:
|
324
220
|
- - "~>"
|
325
221
|
- !ruby/object:Gem::Version
|
326
|
-
version: '
|
222
|
+
version: '5.0'
|
327
223
|
- !ruby/object:Gem::Dependency
|
328
224
|
name: httpclient
|
329
225
|
requirement: !ruby/object:Gem::Requirement
|
@@ -352,6 +248,20 @@ dependencies:
|
|
352
248
|
- - "~>"
|
353
249
|
- !ruby/object:Gem::Version
|
354
250
|
version: '1.3'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: redis-namespace
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - "~>"
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '1.8'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - "~>"
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '1.8'
|
355
265
|
description: |
|
356
266
|
Airbrake is an online tool that provides robust exception tracking in any of
|
357
267
|
your Ruby applications. In doing so, it allows you to easily review errors, tie
|
@@ -405,6 +315,9 @@ files:
|
|
405
315
|
- lib/airbrake/rails/http_client.rb
|
406
316
|
- lib/airbrake/rails/net_http.rb
|
407
317
|
- lib/airbrake/rails/railtie.rb
|
318
|
+
- lib/airbrake/rails/railties/action_controller_tie.rb
|
319
|
+
- lib/airbrake/rails/railties/active_record_tie.rb
|
320
|
+
- lib/airbrake/rails/railties/middleware_tie.rb
|
408
321
|
- lib/airbrake/rails/typhoeus.rb
|
409
322
|
- lib/airbrake/rake.rb
|
410
323
|
- lib/airbrake/rake/tasks.rb
|
@@ -419,8 +332,9 @@ files:
|
|
419
332
|
homepage: https://airbrake.io
|
420
333
|
licenses:
|
421
334
|
- MIT
|
422
|
-
metadata:
|
423
|
-
|
335
|
+
metadata:
|
336
|
+
rubygems_mfa_required: 'true'
|
337
|
+
post_install_message:
|
424
338
|
rdoc_options: []
|
425
339
|
require_paths:
|
426
340
|
- lib
|
@@ -428,15 +342,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
428
342
|
requirements:
|
429
343
|
- - ">="
|
430
344
|
- !ruby/object:Gem::Version
|
431
|
-
version: '2.
|
345
|
+
version: '2.6'
|
432
346
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
433
347
|
requirements:
|
434
348
|
- - ">="
|
435
349
|
- !ruby/object:Gem::Version
|
436
350
|
version: '0'
|
437
351
|
requirements: []
|
438
|
-
rubygems_version: 3.
|
439
|
-
signing_key:
|
352
|
+
rubygems_version: 3.3.26
|
353
|
+
signing_key:
|
440
354
|
specification_version: 4
|
441
355
|
summary: Airbrake is an online tool that provides robust exception tracking in any
|
442
356
|
of your Ruby applications.
|