bugsnag 6.12.0 → 6.14.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (126) hide show
  1. checksums.yaml +4 -4
  2. data/.buildkite/pipeline.yml +470 -0
  3. data/.rubocop.yml +55 -0
  4. data/.rubocop_todo.yml +530 -160
  5. data/CHANGELOG.md +67 -0
  6. data/CONTRIBUTING.md +1 -9
  7. data/Gemfile +14 -7
  8. data/TESTING.md +81 -0
  9. data/VERSION +1 -1
  10. data/docker-compose.yml +46 -0
  11. data/dockerfiles/Dockerfile.jruby-unit-tests +13 -0
  12. data/dockerfiles/Dockerfile.ruby-maze-runner +26 -0
  13. data/dockerfiles/Dockerfile.ruby-unit-tests +12 -0
  14. data/features/delayed_job.feature +6 -22
  15. data/features/fixtures/delayed_job/Dockerfile +2 -4
  16. data/features/fixtures/delayed_job/app/Gemfile +1 -1
  17. data/features/fixtures/delayed_job/app/Rakefile +18 -0
  18. data/features/fixtures/docker-compose.yml +28 -40
  19. data/features/fixtures/expected_breadcrumbs/active_job.json +9 -0
  20. data/features/fixtures/expected_breadcrumbs/mongo_failed.json +15 -0
  21. data/features/fixtures/expected_breadcrumbs/mongo_filtered_request.json +15 -0
  22. data/features/fixtures/expected_breadcrumbs/mongo_filtered_result.json +15 -0
  23. data/features/fixtures/expected_breadcrumbs/mongo_success.json +14 -0
  24. data/features/fixtures/expected_breadcrumbs/request.json +13 -0
  25. data/features/fixtures/expected_breadcrumbs/sql_with_bindings.json +12 -0
  26. data/features/fixtures/expected_breadcrumbs/sql_without_bindings.json +11 -0
  27. data/features/fixtures/plain/Dockerfile +2 -2
  28. data/features/fixtures/plain/app/app.rb +1 -3
  29. data/features/fixtures/plain/app/delivery/fork_threadpool.rb +3 -1
  30. data/features/fixtures/plain/app/unhandled/{Interrupt.rb → interrupt.rb} +0 -0
  31. data/features/fixtures/rack1/Dockerfile +2 -2
  32. data/features/fixtures/rack2/Dockerfile +2 -2
  33. data/features/fixtures/rails3/Dockerfile +2 -2
  34. data/features/fixtures/rails3/app/Gemfile +4 -0
  35. data/features/fixtures/rails3/app/config/initializers/bugsnag.rb +3 -2
  36. data/features/fixtures/rails4/Dockerfile +2 -5
  37. data/features/fixtures/rails4/app/config/initializers/bugsnag.rb +2 -1
  38. data/features/fixtures/rails5/Dockerfile +2 -2
  39. data/features/fixtures/rails5/app/Gemfile +3 -2
  40. data/features/fixtures/rails5/app/config/initializers/bugsnag.rb +2 -1
  41. data/features/fixtures/rails6/Dockerfile +2 -2
  42. data/features/fixtures/rails6/app/Gemfile +3 -2
  43. data/features/fixtures/rails6/app/app/controllers/mongo_controller.rb +22 -0
  44. data/features/fixtures/rails6/app/app/models/mongo_model.rb +6 -0
  45. data/features/fixtures/rails6/app/config/environments/development.rb +2 -0
  46. data/features/fixtures/rails6/app/config/environments/production.rb +1 -0
  47. data/features/fixtures/rails6/app/config/environments/rails_env.rb +1 -0
  48. data/features/fixtures/rails6/app/config/environments/test.rb +1 -0
  49. data/features/fixtures/rails6/app/config/initializers/bugsnag.rb +2 -1
  50. data/features/fixtures/rails6/app/config/mongoid.yml +23 -0
  51. data/features/fixtures/rails6/app/config/routes.rb +4 -0
  52. data/features/fixtures/resque/Dockerfile +2 -2
  53. data/features/fixtures/sidekiq/Dockerfile +5 -7
  54. data/features/fixtures/sidekiq/app/Gemfile +2 -1
  55. data/features/fixtures/sidekiq/app/Rakefile.rb +14 -0
  56. data/features/fixtures/sinatra1/Dockerfile +2 -2
  57. data/features/fixtures/sinatra2/Dockerfile +2 -2
  58. data/features/plain_features/add_tab.feature +24 -97
  59. data/features/plain_features/app_type.feature +6 -25
  60. data/features/plain_features/app_version.feature +6 -25
  61. data/features/plain_features/auto_notify.feature +4 -20
  62. data/features/plain_features/delivery.feature +12 -60
  63. data/features/plain_features/exception_data.feature +24 -94
  64. data/features/plain_features/filters.feature +9 -43
  65. data/features/plain_features/handled_errors.feature +16 -78
  66. data/features/plain_features/ignore_classes.feature +5 -23
  67. data/features/plain_features/ignore_report.feature +6 -24
  68. data/features/plain_features/proxies.feature +13 -56
  69. data/features/plain_features/release_stages.feature +9 -40
  70. data/features/plain_features/report_api_key.feature +9 -35
  71. data/features/plain_features/report_severity.feature +8 -35
  72. data/features/plain_features/report_stack_frames.feature +24 -92
  73. data/features/plain_features/report_user.feature +23 -96
  74. data/features/plain_features/unhandled_errors.feature +17 -88
  75. data/features/rails_features/api_key.feature +12 -58
  76. data/features/rails_features/app_type.feature +13 -58
  77. data/features/rails_features/app_version.feature +19 -80
  78. data/features/rails_features/auto_capture_sessions.feature +31 -112
  79. data/features/rails_features/auto_notify.feature +28 -105
  80. data/features/rails_features/before_notify.feature +18 -83
  81. data/features/rails_features/breadcrumbs.feature +40 -137
  82. data/features/rails_features/handled.feature +18 -82
  83. data/features/rails_features/ignore_classes.feature +12 -51
  84. data/features/rails_features/meta_data_filters.feature +9 -33
  85. data/features/rails_features/mongo_breadcrumbs.feature +22 -96
  86. data/features/rails_features/project_root.feature +19 -84
  87. data/features/rails_features/release_stage.feature +20 -82
  88. data/features/rails_features/send_code.feature +13 -55
  89. data/features/rails_features/send_environment.feature +7 -33
  90. data/features/rails_features/unhandled.feature +6 -31
  91. data/features/rails_features/user_info.feature +27 -65
  92. data/features/sidekiq.feature +12 -79
  93. data/features/steps/ruby_notifier_steps.rb +59 -15
  94. data/features/support/env.rb +12 -45
  95. data/lib/bugsnag.rb +74 -21
  96. data/lib/bugsnag/breadcrumbs/breadcrumbs.rb +0 -2
  97. data/lib/bugsnag/breadcrumbs/validator.rb +0 -6
  98. data/lib/bugsnag/cleaner.rb +129 -60
  99. data/lib/bugsnag/configuration.rb +31 -2
  100. data/lib/bugsnag/helpers.rb +2 -4
  101. data/lib/bugsnag/integrations/que.rb +7 -4
  102. data/lib/bugsnag/integrations/railtie.rb +1 -1
  103. data/lib/bugsnag/middleware/discard_error_class.rb +30 -0
  104. data/lib/bugsnag/middleware/exception_meta_data.rb +15 -9
  105. data/lib/bugsnag/middleware/ignore_error_class.rb +2 -0
  106. data/lib/bugsnag/middleware/rack_request.rb +2 -4
  107. data/lib/bugsnag/report.rb +3 -13
  108. data/lib/bugsnag/stacktrace.rb +6 -10
  109. data/spec/breadcrumbs/breadcrumb_spec.rb +1 -1
  110. data/spec/breadcrumbs/validator_spec.rb +1 -26
  111. data/spec/bugsnag_spec.rb +2 -2
  112. data/spec/cleaner_spec.rb +202 -10
  113. data/spec/configuration_spec.rb +16 -1
  114. data/spec/fixtures/apps/rails-initializer-config/Gemfile +5 -1
  115. data/spec/fixtures/apps/rails-invalid-initializer-config/Gemfile +5 -1
  116. data/spec/fixtures/apps/rails-no-config/Gemfile +5 -1
  117. data/spec/helper_spec.rb +0 -31
  118. data/spec/integrations/logger_spec.rb +1 -1
  119. data/spec/integrations/rack_spec.rb +8 -6
  120. data/spec/integrations/rake_spec.rb +1 -1
  121. data/spec/report_spec.rb +324 -26
  122. data/spec/spec_helper.rb +6 -1
  123. data/spec/stacktrace_spec.rb +179 -72
  124. metadata +23 -7
  125. data/.travis.yml +0 -117
  126. data/features/plain_features/api_key.feature +0 -25
@@ -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
@@ -1,90 +1,197 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Bugsnag::Stacktrace do
4
- it "includes code in the stack trace" do
5
- begin
6
- _a = 1
7
- _b = 2
8
- _c = 3
9
- "Test".prepnd "T"
10
- _d = 4
11
- _e = 5
12
- _f = 6
13
- rescue Exception => e
14
- Bugsnag.notify(e)
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
- expect(Bugsnag).to have_sent_notification{ |payload, headers|
18
- exception = get_exception_from_payload(payload)
19
- starting_line = __LINE__ - 13
20
- expect(exception["stacktrace"][0]["code"]).to eq({
21
- (starting_line + 0).to_s => ' _a = 1',
22
- (starting_line + 1).to_s => ' _b = 2',
23
- (starting_line + 2).to_s => ' _c = 3',
24
- (starting_line + 3).to_s => ' "Test".prepnd "T"',
25
- (starting_line + 4).to_s => ' _d = 4',
26
- (starting_line + 5).to_s => ' _e = 5',
27
- (starting_line + 6).to_s => ' _f = 6'
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
- end
59
+ }
60
+ end
31
61
 
32
- it "allows you to disable sending code" do
33
- Bugsnag.configuration.send_code = false
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
- notify_test_exception
65
+ expect(Bugsnag).to have_sent_notification{ |payload, headers|
66
+ exception = get_exception_from_payload(payload)
36
67
 
37
- expect(Bugsnag).to have_sent_notification{ |payload, headers|
38
- exception = get_exception_from_payload(payload)
39
- expect(exception["stacktrace"][1]["code"]).to eq(nil)
40
- }
41
- end
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
- it 'should send the first 7 lines of the file for exceptions near the top' do
44
- load 'spec/fixtures/crashes/start_of_file.rb' rescue Bugsnag.notify $!
45
-
46
- expect(Bugsnag).to have_sent_notification{ |payload, headers|
47
- exception = get_exception_from_payload(payload)
48
-
49
- expect(exception["stacktrace"][0]["code"]).to eq({
50
- "1" => "#",
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
- it 'should send the last 7 lines of the file for exceptions near the bottom' do
62
- load 'spec/fixtures/crashes/end_of_file.rb' rescue Bugsnag.notify $!
63
-
64
- expect(Bugsnag).to have_sent_notification{ |payload, headers|
65
- exception = get_exception_from_payload(payload)
66
-
67
- expect(exception["stacktrace"][0]["code"]).to eq({
68
- "3" => "#",
69
- "4" => "#",
70
- "5" => "#",
71
- "6" => "#",
72
- "7" => "#",
73
- "8" => "raise 'hell'",
74
- "9" => "#"
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
- it 'should send the last 7 lines of the file for exceptions near the bottom' do
80
- load 'spec/fixtures/crashes/short_file.rb' rescue Bugsnag.notify $!
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
- expect(Bugsnag).to have_sent_notification{ |payload, headers|
83
- exception = get_exception_from_payload(payload)
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
- expect(exception["stacktrace"][0]["code"]).to eq({
86
- "1" => "raise 'hell'"
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.12.0
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: 2019-08-29 00:00:00.000000000 Z
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
- rubyforge_project:
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
@@ -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