bugsnag 6.12.0 → 6.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.buildkite/pipeline.yml +470 -0
- data/.rubocop.yml +55 -0
- data/.rubocop_todo.yml +530 -160
- data/CHANGELOG.md +67 -0
- data/CONTRIBUTING.md +1 -9
- data/Gemfile +14 -7
- data/TESTING.md +81 -0
- data/VERSION +1 -1
- data/docker-compose.yml +46 -0
- data/dockerfiles/Dockerfile.jruby-unit-tests +13 -0
- data/dockerfiles/Dockerfile.ruby-maze-runner +26 -0
- data/dockerfiles/Dockerfile.ruby-unit-tests +12 -0
- data/features/delayed_job.feature +6 -22
- data/features/fixtures/delayed_job/Dockerfile +2 -4
- data/features/fixtures/delayed_job/app/Gemfile +1 -1
- data/features/fixtures/delayed_job/app/Rakefile +18 -0
- data/features/fixtures/docker-compose.yml +28 -40
- data/features/fixtures/expected_breadcrumbs/active_job.json +9 -0
- data/features/fixtures/expected_breadcrumbs/mongo_failed.json +15 -0
- data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +15 -0
- data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +15 -0
- data/features/fixtures/expected_breadcrumbs/mongo_success.json +14 -0
- data/features/fixtures/expected_breadcrumbs/request.json +13 -0
- data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +12 -0
- data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +11 -0
- data/features/fixtures/plain/Dockerfile +2 -2
- data/features/fixtures/plain/app/app.rb +1 -3
- data/features/fixtures/plain/app/delivery/fork_threadpool.rb +3 -1
- data/features/fixtures/plain/app/unhandled/{Interrupt.rb → interrupt.rb} +0 -0
- data/features/fixtures/rack1/Dockerfile +2 -2
- data/features/fixtures/rack2/Dockerfile +2 -2
- data/features/fixtures/rails3/Dockerfile +2 -2
- data/features/fixtures/rails3/app/Gemfile +4 -0
- data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +3 -2
- data/features/fixtures/rails4/Dockerfile +2 -5
- data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +2 -1
- data/features/fixtures/rails5/Dockerfile +2 -2
- data/features/fixtures/rails5/app/Gemfile +3 -2
- data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +2 -1
- data/features/fixtures/rails6/Dockerfile +2 -2
- data/features/fixtures/rails6/app/Gemfile +3 -2
- data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +22 -0
- data/features/fixtures/rails6/app/app/models/mongo_model.rb +6 -0
- data/features/fixtures/rails6/app/config/environments/development.rb +2 -0
- data/features/fixtures/rails6/app/config/environments/production.rb +1 -0
- data/features/fixtures/rails6/app/config/environments/rails_env.rb +1 -0
- data/features/fixtures/rails6/app/config/environments/test.rb +1 -0
- data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +2 -1
- data/features/fixtures/rails6/app/config/mongoid.yml +23 -0
- data/features/fixtures/rails6/app/config/routes.rb +4 -0
- data/features/fixtures/resque/Dockerfile +2 -2
- data/features/fixtures/sidekiq/Dockerfile +5 -7
- data/features/fixtures/sidekiq/app/Gemfile +2 -1
- data/features/fixtures/sidekiq/app/Rakefile.rb +14 -0
- data/features/fixtures/sinatra1/Dockerfile +2 -2
- data/features/fixtures/sinatra2/Dockerfile +2 -2
- data/features/plain_features/add_tab.feature +24 -97
- data/features/plain_features/app_type.feature +6 -25
- data/features/plain_features/app_version.feature +6 -25
- data/features/plain_features/auto_notify.feature +4 -20
- data/features/plain_features/delivery.feature +12 -60
- data/features/plain_features/exception_data.feature +24 -94
- data/features/plain_features/filters.feature +9 -43
- data/features/plain_features/handled_errors.feature +16 -78
- data/features/plain_features/ignore_classes.feature +5 -23
- data/features/plain_features/ignore_report.feature +6 -24
- data/features/plain_features/proxies.feature +13 -56
- data/features/plain_features/release_stages.feature +9 -40
- data/features/plain_features/report_api_key.feature +9 -35
- data/features/plain_features/report_severity.feature +8 -35
- data/features/plain_features/report_stack_frames.feature +24 -92
- data/features/plain_features/report_user.feature +23 -96
- data/features/plain_features/unhandled_errors.feature +17 -88
- data/features/rails_features/api_key.feature +12 -58
- data/features/rails_features/app_type.feature +13 -58
- data/features/rails_features/app_version.feature +19 -80
- data/features/rails_features/auto_capture_sessions.feature +31 -112
- data/features/rails_features/auto_notify.feature +28 -105
- data/features/rails_features/before_notify.feature +18 -83
- data/features/rails_features/breadcrumbs.feature +40 -137
- data/features/rails_features/handled.feature +18 -82
- data/features/rails_features/ignore_classes.feature +12 -51
- data/features/rails_features/meta_data_filters.feature +9 -33
- data/features/rails_features/mongo_breadcrumbs.feature +22 -96
- data/features/rails_features/project_root.feature +19 -84
- data/features/rails_features/release_stage.feature +20 -82
- data/features/rails_features/send_code.feature +13 -55
- data/features/rails_features/send_environment.feature +7 -33
- data/features/rails_features/unhandled.feature +6 -31
- data/features/rails_features/user_info.feature +27 -65
- data/features/sidekiq.feature +12 -79
- data/features/steps/ruby_notifier_steps.rb +59 -15
- data/features/support/env.rb +12 -45
- data/lib/bugsnag.rb +74 -21
- data/lib/bugsnag/breadcrumbs/breadcrumbs.rb +0 -2
- data/lib/bugsnag/breadcrumbs/validator.rb +0 -6
- data/lib/bugsnag/cleaner.rb +129 -60
- data/lib/bugsnag/configuration.rb +31 -2
- data/lib/bugsnag/helpers.rb +2 -4
- data/lib/bugsnag/integrations/que.rb +7 -4
- data/lib/bugsnag/integrations/railtie.rb +1 -1
- data/lib/bugsnag/middleware/discard_error_class.rb +30 -0
- data/lib/bugsnag/middleware/exception_meta_data.rb +15 -9
- data/lib/bugsnag/middleware/ignore_error_class.rb +2 -0
- data/lib/bugsnag/middleware/rack_request.rb +2 -4
- data/lib/bugsnag/report.rb +3 -13
- data/lib/bugsnag/stacktrace.rb +6 -10
- data/spec/breadcrumbs/breadcrumb_spec.rb +1 -1
- data/spec/breadcrumbs/validator_spec.rb +1 -26
- data/spec/bugsnag_spec.rb +2 -2
- data/spec/cleaner_spec.rb +202 -10
- data/spec/configuration_spec.rb +16 -1
- data/spec/fixtures/apps/rails-initializer-config/Gemfile +5 -1
- data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +5 -1
- data/spec/fixtures/apps/rails-no-config/Gemfile +5 -1
- data/spec/helper_spec.rb +0 -31
- data/spec/integrations/logger_spec.rb +1 -1
- data/spec/integrations/rack_spec.rb +8 -6
- data/spec/integrations/rake_spec.rb +1 -1
- data/spec/report_spec.rb +324 -26
- data/spec/spec_helper.rb +6 -1
- data/spec/stacktrace_spec.rb +179 -72
- metadata +23 -7
- data/.travis.yml +0 -117
- data/features/plain_features/api_key.feature +0 -25
data/spec/spec_helper.rb
CHANGED
@@ -10,6 +10,7 @@ end
|
|
10
10
|
|
11
11
|
require 'bugsnag'
|
12
12
|
|
13
|
+
require 'tmpdir'
|
13
14
|
require 'webmock/rspec'
|
14
15
|
require 'rspec/expectations'
|
15
16
|
require 'rspec/mocks'
|
@@ -43,12 +44,16 @@ end
|
|
43
44
|
|
44
45
|
RSpec.configure do |config|
|
45
46
|
config.order = "random"
|
47
|
+
config.example_status_persistence_file_path = "#{Dir.tmpdir}/rspec_status"
|
46
48
|
|
47
49
|
config.before(:each) do
|
48
50
|
WebMock.stub_request(:post, "https://notify.bugsnag.com/")
|
49
51
|
WebMock.stub_request(:post, "https://sessions.bugsnag.com/")
|
50
52
|
|
51
53
|
Bugsnag.instance_variable_set(:@configuration, Bugsnag::Configuration.new)
|
54
|
+
Bugsnag.instance_variable_set(:@session_tracker, Bugsnag::SessionTracker.new)
|
55
|
+
Bugsnag.instance_variable_set(:@cleaner, Bugsnag::Cleaner.new(Bugsnag.configuration))
|
56
|
+
|
52
57
|
Bugsnag.configure do |bugsnag|
|
53
58
|
bugsnag.api_key = "c9d60ae4c7e70c4b6c4ebd3e8056d2b8"
|
54
59
|
bugsnag.release_stage = "production"
|
@@ -83,4 +88,4 @@ def have_sent_notification(&matcher)
|
|
83
88
|
raise "no matcher provided to have_sent_notification (did you use { })"
|
84
89
|
end
|
85
90
|
end
|
86
|
-
end
|
91
|
+
end
|
data/spec/stacktrace_spec.rb
CHANGED
@@ -1,90 +1,197 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe Bugsnag::Stacktrace do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
4
|
+
context "sending code" do
|
5
|
+
it "includes code in the stack trace" do
|
6
|
+
begin
|
7
|
+
_a = 1
|
8
|
+
_b = 2
|
9
|
+
_c = 3
|
10
|
+
"Test".prepnd "T"
|
11
|
+
_d = 4
|
12
|
+
_e = 5
|
13
|
+
_f = 6
|
14
|
+
rescue Exception => e
|
15
|
+
Bugsnag.notify(e)
|
16
|
+
end
|
17
|
+
|
18
|
+
expect(Bugsnag).to have_sent_notification{ |payload, headers|
|
19
|
+
exception = get_exception_from_payload(payload)
|
20
|
+
starting_line = __LINE__ - 13
|
21
|
+
expect(exception["stacktrace"][0]["code"]).to eq({
|
22
|
+
(starting_line + 0).to_s => ' _a = 1',
|
23
|
+
(starting_line + 1).to_s => ' _b = 2',
|
24
|
+
(starting_line + 2).to_s => ' _c = 3',
|
25
|
+
(starting_line + 3).to_s => ' "Test".prepnd "T"',
|
26
|
+
(starting_line + 4).to_s => ' _d = 4',
|
27
|
+
(starting_line + 5).to_s => ' _e = 5',
|
28
|
+
(starting_line + 6).to_s => ' _f = 6'
|
29
|
+
})
|
30
|
+
}
|
31
|
+
end
|
32
|
+
|
33
|
+
it "allows you to disable sending code" do
|
34
|
+
Bugsnag.configuration.send_code = false
|
35
|
+
|
36
|
+
notify_test_exception
|
37
|
+
|
38
|
+
expect(Bugsnag).to have_sent_notification{ |payload, headers|
|
39
|
+
exception = get_exception_from_payload(payload)
|
40
|
+
expect(exception["stacktrace"][1]["code"]).to eq(nil)
|
41
|
+
}
|
15
42
|
end
|
16
43
|
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
expect(
|
21
|
-
|
22
|
-
|
23
|
-
(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
44
|
+
it 'should send the first 7 lines of the file for exceptions near the top' do
|
45
|
+
load 'spec/fixtures/crashes/start_of_file.rb' rescue Bugsnag.notify $!
|
46
|
+
|
47
|
+
expect(Bugsnag).to have_sent_notification{ |payload, headers|
|
48
|
+
exception = get_exception_from_payload(payload)
|
49
|
+
|
50
|
+
expect(exception["stacktrace"][0]["code"]).to eq({
|
51
|
+
"1" => "#",
|
52
|
+
"2" => "raise 'hell'",
|
53
|
+
"3" => "#",
|
54
|
+
"4" => "#",
|
55
|
+
"5" => "#",
|
56
|
+
"6" => "#",
|
57
|
+
"7" => "#"
|
28
58
|
})
|
29
|
-
|
30
|
-
|
59
|
+
}
|
60
|
+
end
|
31
61
|
|
32
|
-
|
33
|
-
|
62
|
+
it 'should send the last 7 lines of the file for exceptions near the bottom' do
|
63
|
+
load 'spec/fixtures/crashes/end_of_file.rb' rescue Bugsnag.notify $!
|
34
64
|
|
35
|
-
|
65
|
+
expect(Bugsnag).to have_sent_notification{ |payload, headers|
|
66
|
+
exception = get_exception_from_payload(payload)
|
36
67
|
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
68
|
+
expect(exception["stacktrace"][0]["code"]).to eq({
|
69
|
+
"3" => "#",
|
70
|
+
"4" => "#",
|
71
|
+
"5" => "#",
|
72
|
+
"6" => "#",
|
73
|
+
"7" => "#",
|
74
|
+
"8" => "raise 'hell'",
|
75
|
+
"9" => "#"
|
76
|
+
})
|
77
|
+
}
|
78
|
+
end
|
79
|
+
|
80
|
+
it 'should send the last 7 lines of the file for exceptions near the bottom' do
|
81
|
+
load 'spec/fixtures/crashes/short_file.rb' rescue Bugsnag.notify $!
|
42
82
|
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
"2" => "raise 'hell'",
|
52
|
-
"3" => "#",
|
53
|
-
"4" => "#",
|
54
|
-
"5" => "#",
|
55
|
-
"6" => "#",
|
56
|
-
"7" => "#"
|
57
|
-
})
|
58
|
-
}
|
83
|
+
expect(Bugsnag).to have_sent_notification{ |payload, headers|
|
84
|
+
exception = get_exception_from_payload(payload)
|
85
|
+
|
86
|
+
expect(exception["stacktrace"][0]["code"]).to eq({
|
87
|
+
"1" => "raise 'hell'"
|
88
|
+
})
|
89
|
+
}
|
90
|
+
end
|
59
91
|
end
|
60
92
|
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
"
|
69
|
-
"
|
70
|
-
"
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
93
|
+
context "file paths" do
|
94
|
+
it "leaves absolute paths alone" do
|
95
|
+
configuration = Bugsnag::Configuration.new
|
96
|
+
configuration.send_code = false
|
97
|
+
|
98
|
+
backtrace = [
|
99
|
+
"/foo/bar/app/models/user.rb:1:in `something'",
|
100
|
+
"/foo/bar/other_vendor/lib/dont.rb:2:in `to_s'",
|
101
|
+
"/foo/bar/vendor/lib/ignore_me.rb:3:in `to_s'",
|
102
|
+
"/foo/bar/.bundle/lib/ignore_me.rb:4:in `to_s'",
|
103
|
+
]
|
104
|
+
|
105
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration).to_a
|
106
|
+
|
107
|
+
expect(stacktrace).to eq([
|
108
|
+
{ file: "/foo/bar/app/models/user.rb", lineNumber: 1, method: "something" },
|
109
|
+
{ file: "/foo/bar/other_vendor/lib/dont.rb", lineNumber: 2, method: "to_s" },
|
110
|
+
{ file: "/foo/bar/vendor/lib/ignore_me.rb", lineNumber: 3, method: "to_s" },
|
111
|
+
{ file: "/foo/bar/.bundle/lib/ignore_me.rb", lineNumber: 4, method: "to_s" },
|
112
|
+
])
|
113
|
+
end
|
114
|
+
|
115
|
+
it "does not modify relative paths if they can't be resolved" do
|
116
|
+
configuration = Bugsnag::Configuration.new
|
117
|
+
|
118
|
+
backtrace = [
|
119
|
+
"./foo/bar/baz.rb:1:in `something'",
|
120
|
+
"../foo.rb:1:in `to_s'",
|
121
|
+
"../xyz.rb:1:in `to_s'",
|
122
|
+
"abc.rb:1:in `defg'",
|
123
|
+
]
|
124
|
+
|
125
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration).to_a
|
126
|
+
|
127
|
+
expect(stacktrace).to eq([
|
128
|
+
{ code: nil, file: "./foo/bar/baz.rb", lineNumber: 1, method: "something" },
|
129
|
+
{ code: nil, file: "../foo.rb", lineNumber: 1, method: "to_s" },
|
130
|
+
{ code: nil, file: "../xyz.rb", lineNumber: 1, method: "to_s" },
|
131
|
+
{ code: nil, file: "abc.rb", lineNumber: 1, method: "defg" },
|
132
|
+
])
|
133
|
+
end
|
134
|
+
|
135
|
+
it "resolves relative paths when the files exist" do
|
136
|
+
configuration = Bugsnag::Configuration.new
|
137
|
+
configuration.send_code = false
|
138
|
+
|
139
|
+
dir = File.dirname(__FILE__)
|
140
|
+
|
141
|
+
backtrace = [
|
142
|
+
"./spec/spec_helper.rb:1:in `something'",
|
143
|
+
"./lib/bugsnag/breadcrumbs/../configuration.rb:100:in `to_s'",
|
144
|
+
"lib/bugsnag.rb:20:in `notify'",
|
145
|
+
"#{dir}/../spec/stacktrace_spec.rb:5:in `something_else'",
|
146
|
+
]
|
147
|
+
|
148
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration).to_a
|
149
|
+
|
150
|
+
expect(stacktrace).to eq([
|
151
|
+
{ file: "#{dir}/spec_helper.rb", lineNumber: 1, method: "something" },
|
152
|
+
{ file: "#{File.dirname(dir)}/lib/bugsnag/configuration.rb", lineNumber: 100, method: "to_s" },
|
153
|
+
{ file: "#{File.dirname(dir)}/lib/bugsnag.rb", lineNumber: 20, method: "notify" },
|
154
|
+
{ file: "#{dir}/stacktrace_spec.rb", lineNumber: 5, method: "something_else" },
|
155
|
+
])
|
156
|
+
end
|
77
157
|
end
|
78
158
|
|
79
|
-
|
80
|
-
|
159
|
+
context "with configurable vendor_path" do
|
160
|
+
let(:configuration) do
|
161
|
+
configuration = Bugsnag::Configuration.new
|
162
|
+
configuration.project_root = "/foo/bar"
|
163
|
+
configuration
|
164
|
+
end
|
165
|
+
|
166
|
+
let(:backtrace) do
|
167
|
+
[
|
168
|
+
"/foo/bar/app/models/user.rb:1:in `something'",
|
169
|
+
"/foo/bar/other_vendor/lib/dont.rb:1:in `to_s'",
|
170
|
+
"/foo/bar/vendor/lib/ignore_me.rb:1:in `to_s'",
|
171
|
+
"/foo/bar/.bundle/lib/ignore_me.rb:1:in `to_s'",
|
172
|
+
]
|
173
|
+
end
|
174
|
+
|
175
|
+
def out_project_trace(stacktrace)
|
176
|
+
stacktrace.to_a.map do |trace_line|
|
177
|
+
trace_line[:file] if !trace_line[:inProject]
|
178
|
+
end.compact
|
179
|
+
end
|
180
|
+
|
181
|
+
it "marks vendor/ and .bundle/ as out-project by default" do
|
182
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration)
|
81
183
|
|
82
|
-
|
83
|
-
|
184
|
+
expect(out_project_trace(stacktrace)).to eq([
|
185
|
+
"vendor/lib/ignore_me.rb",
|
186
|
+
".bundle/lib/ignore_me.rb",
|
187
|
+
])
|
188
|
+
end
|
84
189
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
190
|
+
it "allows vendor_path to be configured and filters out backtrace file paths" do
|
191
|
+
configuration.vendor_path = /other_vendor\//
|
192
|
+
stacktrace = Bugsnag::Stacktrace.new(backtrace, configuration)
|
193
|
+
|
194
|
+
expect(out_project_trace(stacktrace)).to eq(["other_vendor/lib/dont.rb"])
|
195
|
+
end
|
89
196
|
end
|
90
197
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bugsnag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.14.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- James Smith
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-07-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -33,22 +33,27 @@ extra_rdoc_files:
|
|
33
33
|
- README.md
|
34
34
|
- CHANGELOG.md
|
35
35
|
files:
|
36
|
+
- ".buildkite/pipeline.yml"
|
36
37
|
- ".github/PULL_REQUEST_TEMPLATE.md"
|
37
38
|
- ".gitignore"
|
38
39
|
- ".rdoc_options"
|
39
40
|
- ".rspec"
|
40
41
|
- ".rubocop.yml"
|
41
42
|
- ".rubocop_todo.yml"
|
42
|
-
- ".travis.yml"
|
43
43
|
- CHANGELOG.md
|
44
44
|
- CONTRIBUTING.md
|
45
45
|
- Gemfile
|
46
46
|
- LICENSE.txt
|
47
47
|
- README.md
|
48
48
|
- Rakefile
|
49
|
+
- TESTING.md
|
49
50
|
- UPGRADING.md
|
50
51
|
- VERSION
|
51
52
|
- bugsnag.gemspec
|
53
|
+
- docker-compose.yml
|
54
|
+
- dockerfiles/Dockerfile.jruby-unit-tests
|
55
|
+
- dockerfiles/Dockerfile.ruby-maze-runner
|
56
|
+
- dockerfiles/Dockerfile.ruby-unit-tests
|
52
57
|
- features/.gitignore
|
53
58
|
- features/delayed_job.feature
|
54
59
|
- features/fixtures/delayed_job/Dockerfile
|
@@ -127,6 +132,14 @@ files:
|
|
127
132
|
- features/fixtures/delayed_job/app/test/test_helper.rb
|
128
133
|
- features/fixtures/delayed_job/app/tmp/.keep
|
129
134
|
- features/fixtures/docker-compose.yml
|
135
|
+
- features/fixtures/expected_breadcrumbs/active_job.json
|
136
|
+
- features/fixtures/expected_breadcrumbs/mongo_failed.json
|
137
|
+
- features/fixtures/expected_breadcrumbs/mongo_filtered_request.json
|
138
|
+
- features/fixtures/expected_breadcrumbs/mongo_filtered_result.json
|
139
|
+
- features/fixtures/expected_breadcrumbs/mongo_success.json
|
140
|
+
- features/fixtures/expected_breadcrumbs/request.json
|
141
|
+
- features/fixtures/expected_breadcrumbs/sql_with_bindings.json
|
142
|
+
- features/fixtures/expected_breadcrumbs/sql_without_bindings.json
|
130
143
|
- features/fixtures/plain/.dockerignore
|
131
144
|
- features/fixtures/plain/Dockerfile
|
132
145
|
- features/fixtures/plain/app/Gemfile
|
@@ -173,9 +186,9 @@ files:
|
|
173
186
|
- features/fixtures/plain/app/stack_frame_modification/initiators/unhandled_before_notify.rb
|
174
187
|
- features/fixtures/plain/app/stack_frame_modification/mark_frames_in_project.rb
|
175
188
|
- features/fixtures/plain/app/stack_frame_modification/remove_stack_frame.rb
|
176
|
-
- features/fixtures/plain/app/unhandled/Interrupt.rb
|
177
189
|
- features/fixtures/plain/app/unhandled/bad_syntax.rb
|
178
190
|
- features/fixtures/plain/app/unhandled/custom_error.rb
|
191
|
+
- features/fixtures/plain/app/unhandled/interrupt.rb
|
179
192
|
- features/fixtures/plain/app/unhandled/load_error.rb
|
180
193
|
- features/fixtures/plain/app/unhandled/local_jump_error.rb
|
181
194
|
- features/fixtures/plain/app/unhandled/name_error.rb
|
@@ -450,6 +463,7 @@ files:
|
|
450
463
|
- features/fixtures/rails6/app/app/controllers/handled_controller.rb
|
451
464
|
- features/fixtures/rails6/app/app/controllers/ignore_classes_controller.rb
|
452
465
|
- features/fixtures/rails6/app/app/controllers/metadata_filters_controller.rb
|
466
|
+
- features/fixtures/rails6/app/app/controllers/mongo_controller.rb
|
453
467
|
- features/fixtures/rails6/app/app/controllers/project_root_controller.rb
|
454
468
|
- features/fixtures/rails6/app/app/controllers/release_stage_controller.rb
|
455
469
|
- features/fixtures/rails6/app/app/controllers/send_code_controller.rb
|
@@ -465,6 +479,7 @@ files:
|
|
465
479
|
- features/fixtures/rails6/app/app/mailers/application_mailer.rb
|
466
480
|
- features/fixtures/rails6/app/app/models/application_record.rb
|
467
481
|
- features/fixtures/rails6/app/app/models/concerns/.keep
|
482
|
+
- features/fixtures/rails6/app/app/models/mongo_model.rb
|
468
483
|
- features/fixtures/rails6/app/app/models/user.rb
|
469
484
|
- features/fixtures/rails6/app/app/views/layouts/application.html.erb
|
470
485
|
- features/fixtures/rails6/app/app/views/layouts/mailer.html.erb
|
@@ -492,6 +507,7 @@ files:
|
|
492
507
|
- features/fixtures/rails6/app/config/initializers/mime_types.rb
|
493
508
|
- features/fixtures/rails6/app/config/initializers/wrap_parameters.rb
|
494
509
|
- features/fixtures/rails6/app/config/locales/en.yml
|
510
|
+
- features/fixtures/rails6/app/config/mongoid.yml
|
495
511
|
- features/fixtures/rails6/app/config/puma.rb
|
496
512
|
- features/fixtures/rails6/app/config/routes.rb
|
497
513
|
- features/fixtures/rails6/app/config/secrets.yml
|
@@ -540,6 +556,7 @@ files:
|
|
540
556
|
- features/fixtures/sidekiq/.dockerignore
|
541
557
|
- features/fixtures/sidekiq/Dockerfile
|
542
558
|
- features/fixtures/sidekiq/app/Gemfile
|
559
|
+
- features/fixtures/sidekiq/app/Rakefile.rb
|
543
560
|
- features/fixtures/sidekiq/app/app.rb
|
544
561
|
- features/fixtures/sidekiq/app/initializers/HandledError.rb
|
545
562
|
- features/fixtures/sidekiq/app/initializers/UnhandledError.rb
|
@@ -556,7 +573,6 @@ files:
|
|
556
573
|
- features/fixtures/sinatra2/Gemfile
|
557
574
|
- features/fixtures/sinatra2/app.rb
|
558
575
|
- features/plain_features/add_tab.feature
|
559
|
-
- features/plain_features/api_key.feature
|
560
576
|
- features/plain_features/app_type.feature
|
561
577
|
- features/plain_features/app_version.feature
|
562
578
|
- features/plain_features/auto_notify.feature
|
@@ -623,6 +639,7 @@ files:
|
|
623
639
|
- lib/bugsnag/middleware/classify_error.rb
|
624
640
|
- lib/bugsnag/middleware/clearance_user.rb
|
625
641
|
- lib/bugsnag/middleware/delayed_job.rb
|
642
|
+
- lib/bugsnag/middleware/discard_error_class.rb
|
626
643
|
- lib/bugsnag/middleware/exception_meta_data.rb
|
627
644
|
- lib/bugsnag/middleware/ignore_error_class.rb
|
628
645
|
- lib/bugsnag/middleware/mailman.rb
|
@@ -706,8 +723,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
706
723
|
- !ruby/object:Gem::Version
|
707
724
|
version: '0'
|
708
725
|
requirements: []
|
709
|
-
|
710
|
-
rubygems_version: 2.7.6.2
|
726
|
+
rubygems_version: 3.1.2
|
711
727
|
signing_key:
|
712
728
|
specification_version: 4
|
713
729
|
summary: Ruby notifier for bugsnag.com
|
data/.travis.yml
DELETED
@@ -1,117 +0,0 @@
|
|
1
|
-
sudo: false
|
2
|
-
language: ruby
|
3
|
-
|
4
|
-
before_install:
|
5
|
-
- gem update --system 2.6.14
|
6
|
-
- gem --version
|
7
|
-
- gem install bundler -v $BUNDLE_VERSION
|
8
|
-
- bundle _${BUNDLE_VERSION}_ --version
|
9
|
-
|
10
|
-
install:
|
11
|
-
- bundle _${BUNDLE_VERSION}_ install --with "$GEMSETS" --binstubs
|
12
|
-
|
13
|
-
script:
|
14
|
-
- bundle exec ./bin/rake spec
|
15
|
-
|
16
|
-
jobs:
|
17
|
-
include:
|
18
|
-
- stage: test
|
19
|
-
env:
|
20
|
-
- BUNDLE_VERSION=1.16.1
|
21
|
-
- GEMSETS=test
|
22
|
-
rvm: jruby-19mode
|
23
|
-
- stage: test
|
24
|
-
rvm: 1.9.3
|
25
|
-
env:
|
26
|
-
- BUNDLE_VERSION=1.12.0
|
27
|
-
- GEMSETS=test
|
28
|
-
- stage: test
|
29
|
-
rvm: 2.0
|
30
|
-
env:
|
31
|
-
- BUNDLE_VERSION=1.12.0
|
32
|
-
- GEMSETS=test
|
33
|
-
- stage: test
|
34
|
-
rvm: 2.1
|
35
|
-
env:
|
36
|
-
- BUNDLE_VERSION=1.12.0
|
37
|
-
- GEMSETS=test
|
38
|
-
- stage: test
|
39
|
-
env:
|
40
|
-
- BUNDLE_VERSION=1.12.0
|
41
|
-
- GEMSETS="test sidekiq"
|
42
|
-
rvm: 2.2
|
43
|
-
- stage: test
|
44
|
-
env:
|
45
|
-
- BUNDLE_VERSION=1.12.0
|
46
|
-
- GEMSETS="test sidekiq"
|
47
|
-
rvm: 2.3
|
48
|
-
- stage: test
|
49
|
-
env:
|
50
|
-
- BUNDLE_VERSION=1.12.0
|
51
|
-
- GEMSETS="test sidekiq"
|
52
|
-
rvm: 2.4
|
53
|
-
- stage: test
|
54
|
-
env:
|
55
|
-
- BUNDLE_VERSION=1.12.0
|
56
|
-
- GEMSETS="test sidekiq coverage"
|
57
|
-
rvm: 2.5
|
58
|
-
- stage: test
|
59
|
-
env:
|
60
|
-
- BUNDLE_VERSION=1.12.0
|
61
|
-
- GEMSETS="test rubocop"
|
62
|
-
rvm: 2.5
|
63
|
-
script: bundle exec ./bin/rubocop lib/
|
64
|
-
# - stage: test
|
65
|
-
# addons:
|
66
|
-
# apt:
|
67
|
-
# packages:
|
68
|
-
# - docker-ce
|
69
|
-
# sudo: required
|
70
|
-
# sevices:
|
71
|
-
# - docker
|
72
|
-
# env:
|
73
|
-
# - BUNDLE_VERSION=1.12.0
|
74
|
-
# - GEMSETS="test maze"
|
75
|
-
# rmv: 2.4.1
|
76
|
-
# script: bundle exec bugsnag-maze-runner -c features/plain_features
|
77
|
-
# - stage: test
|
78
|
-
# addons:
|
79
|
-
# apt:
|
80
|
-
# packages:
|
81
|
-
# - docker-ce
|
82
|
-
# sudo: required
|
83
|
-
# sevices:
|
84
|
-
# - docker
|
85
|
-
# env:
|
86
|
-
# - BUNDLE_VERSION=1.12.0
|
87
|
-
# - GEMSETS="test maze"
|
88
|
-
# rmv: 2.4.1
|
89
|
-
# script: bundle exec bugsnag-maze-runner -c features/sidekiq.feature
|
90
|
-
# - stage: test
|
91
|
-
# addons:
|
92
|
-
# apt:
|
93
|
-
# packages:
|
94
|
-
# - docker-ce
|
95
|
-
# sudo: required
|
96
|
-
# sevices:
|
97
|
-
# - docker
|
98
|
-
# env:
|
99
|
-
# - BUNDLE_VERSION=1.12.0
|
100
|
-
# - GEMSETS="test maze"
|
101
|
-
# - MAX_MAZE_CONNECT_ATTEMPTS=20
|
102
|
-
# rmv: 2.4.1
|
103
|
-
# script: bundle exec bugsnag-maze-runner -c features/rails_features
|
104
|
-
- stage: deploy
|
105
|
-
env:
|
106
|
-
- BUNDLE_VERSION=1.12.0
|
107
|
-
- GEMSETS="test doc"
|
108
|
-
rvm: 2.4.1
|
109
|
-
script: bundle exec rake rdoc
|
110
|
-
if: tag =~ ^v[1-9]
|
111
|
-
deploy:
|
112
|
-
provider: pages
|
113
|
-
local_dir: rdoc # only include the contents of the generated docs dir
|
114
|
-
skip_cleanup: true
|
115
|
-
github_token: $GITHUB_TOKEN # set in travis-ci dashboard
|
116
|
-
on:
|
117
|
-
tags: true # only deploy when tag is applied to commit
|