airbrake-ruby 4.13.4-java → 5.0.0.rc.2-java

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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake-ruby.rb +23 -32
  3. data/lib/airbrake-ruby/async_sender.rb +1 -1
  4. data/lib/airbrake-ruby/config.rb +65 -13
  5. data/lib/airbrake-ruby/config/processor.rb +80 -0
  6. data/lib/airbrake-ruby/config/validator.rb +4 -0
  7. data/lib/airbrake-ruby/filter_chain.rb +15 -1
  8. data/lib/airbrake-ruby/filters/{keys_whitelist.rb → keys_allowlist.rb} +3 -3
  9. data/lib/airbrake-ruby/filters/{keys_blacklist.rb → keys_blocklist.rb} +3 -3
  10. data/lib/airbrake-ruby/filters/keys_filter.rb +5 -5
  11. data/lib/airbrake-ruby/notice.rb +1 -8
  12. data/lib/airbrake-ruby/notice_notifier.rb +6 -0
  13. data/lib/airbrake-ruby/performance_notifier.rb +1 -1
  14. data/lib/airbrake-ruby/remote_settings.rb +143 -0
  15. data/lib/airbrake-ruby/remote_settings/settings_data.rb +116 -0
  16. data/lib/airbrake-ruby/sync_sender.rb +2 -2
  17. data/lib/airbrake-ruby/thread_pool.rb +1 -0
  18. data/lib/airbrake-ruby/version.rb +11 -1
  19. data/spec/airbrake_spec.rb +71 -36
  20. data/spec/config/processor_spec.rb +223 -0
  21. data/spec/config/validator_spec.rb +18 -1
  22. data/spec/config_spec.rb +38 -6
  23. data/spec/filter_chain_spec.rb +27 -0
  24. data/spec/filters/{keys_whitelist_spec.rb → keys_allowlist_spec.rb} +10 -10
  25. data/spec/filters/{keys_blacklist_spec.rb → keys_blocklist_spec.rb} +10 -10
  26. data/spec/filters/sql_filter_spec.rb +3 -3
  27. data/spec/notice_notifier/options_spec.rb +4 -4
  28. data/spec/performance_notifier_spec.rb +2 -2
  29. data/spec/remote_settings/settings_data_spec.rb +327 -0
  30. data/spec/remote_settings_spec.rb +230 -0
  31. data/spec/sync_sender_spec.rb +3 -1
  32. data/spec/thread_pool_spec.rb +25 -5
  33. metadata +22 -13
@@ -27,7 +27,9 @@ RSpec.describe Airbrake::SyncSender do
27
27
  expect(
28
28
  a_request(:post, endpoint).with(
29
29
  headers: {
30
- 'User-Agent' => %r{airbrake-ruby/\d+\.\d+\.\d+ Ruby/\d+\.\d+\.\d+},
30
+ 'User-Agent' => %r{
31
+ airbrake-ruby/\d+\.\d+\.\d+(\.rc\.\d+)?\sRuby/\d+\.\d+\.\d+
32
+ }x,
31
33
  },
32
34
  ),
33
35
  ).to have_been_made.once
@@ -85,11 +85,31 @@ RSpec.describe Airbrake::ThreadPool do
85
85
  expect(subject).not_to have_workers
86
86
  end
87
87
 
88
- it "respawns workers on fork()", skip: %w[jruby].include?(RUBY_ENGINE) do
89
- pid = fork { expect(subject).to have_workers }
90
- Process.wait(pid)
91
- subject.close
92
- expect(subject).not_to have_workers
88
+ describe "forking behavior" do
89
+ before do
90
+ skip('fork() is unsupported on JRuby') if %w[jruby].include?(RUBY_ENGINE)
91
+ unless Process.respond_to?(:last_status)
92
+ skip('Process.last_status is unsupported on this Ruby')
93
+ end
94
+ end
95
+
96
+ it "respawns workers on fork()" do
97
+ pid = fork { expect(subject).to have_workers }
98
+ Process.wait(pid)
99
+ subject.close
100
+
101
+ expect(Process.last_status).to be_success
102
+ expect(subject).not_to have_workers
103
+ end
104
+
105
+ it "ensures that a new thread group is created per process" do
106
+ subject << 1
107
+ pid = fork { subject.has_workers? }
108
+ Process.wait(pid)
109
+ subject.close
110
+
111
+ expect(Process.last_status).to be_success
112
+ end
93
113
  end
94
114
  end
95
115
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: airbrake-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.13.4
4
+ version: 5.0.0.rc.2
5
5
  platform: java
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-04-09 00:00:00.000000000 Z
11
+ date: 2020-07-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbtree-jruby
@@ -44,6 +44,7 @@ files:
44
44
  - lib/airbrake-ruby/benchmark.rb
45
45
  - lib/airbrake-ruby/code_hunk.rb
46
46
  - lib/airbrake-ruby/config.rb
47
+ - lib/airbrake-ruby/config/processor.rb
47
48
  - lib/airbrake-ruby/config/validator.rb
48
49
  - lib/airbrake-ruby/deploy_notifier.rb
49
50
  - lib/airbrake-ruby/file_cache.rb
@@ -55,9 +56,9 @@ files:
55
56
  - lib/airbrake-ruby/filters/git_last_checkout_filter.rb
56
57
  - lib/airbrake-ruby/filters/git_repository_filter.rb
57
58
  - lib/airbrake-ruby/filters/git_revision_filter.rb
58
- - lib/airbrake-ruby/filters/keys_blacklist.rb
59
+ - lib/airbrake-ruby/filters/keys_allowlist.rb
60
+ - lib/airbrake-ruby/filters/keys_blocklist.rb
59
61
  - lib/airbrake-ruby/filters/keys_filter.rb
60
- - lib/airbrake-ruby/filters/keys_whitelist.rb
61
62
  - lib/airbrake-ruby/filters/root_directory_filter.rb
62
63
  - lib/airbrake-ruby/filters/sql_filter.rb
63
64
  - lib/airbrake-ruby/filters/system_exit_filter.rb
@@ -77,6 +78,8 @@ files:
77
78
  - lib/airbrake-ruby/promise.rb
78
79
  - lib/airbrake-ruby/query.rb
79
80
  - lib/airbrake-ruby/queue.rb
81
+ - lib/airbrake-ruby/remote_settings.rb
82
+ - lib/airbrake-ruby/remote_settings/settings_data.rb
80
83
  - lib/airbrake-ruby/request.rb
81
84
  - lib/airbrake-ruby/response.rb
82
85
  - lib/airbrake-ruby/stashable.rb
@@ -93,6 +96,7 @@ files:
93
96
  - spec/backtrace_spec.rb
94
97
  - spec/benchmark_spec.rb
95
98
  - spec/code_hunk_spec.rb
99
+ - spec/config/processor_spec.rb
96
100
  - spec/config/validator_spec.rb
97
101
  - spec/config_spec.rb
98
102
  - spec/deploy_notifier_spec.rb
@@ -105,8 +109,8 @@ files:
105
109
  - spec/filters/git_last_checkout_filter_spec.rb
106
110
  - spec/filters/git_repository_filter.rb
107
111
  - spec/filters/git_revision_filter_spec.rb
108
- - spec/filters/keys_blacklist_spec.rb
109
- - spec/filters/keys_whitelist_spec.rb
112
+ - spec/filters/keys_allowlist_spec.rb
113
+ - spec/filters/keys_blocklist_spec.rb
110
114
  - spec/filters/root_directory_filter_spec.rb
111
115
  - spec/filters/sql_filter_spec.rb
112
116
  - spec/filters/system_exit_filter_spec.rb
@@ -131,6 +135,8 @@ files:
131
135
  - spec/promise_spec.rb
132
136
  - spec/query_spec.rb
133
137
  - spec/queue_spec.rb
138
+ - spec/remote_settings/settings_data_spec.rb
139
+ - spec/remote_settings_spec.rb
134
140
  - spec/request_spec.rb
135
141
  - spec/response_spec.rb
136
142
  - spec/spec_helper.rb
@@ -146,7 +152,7 @@ homepage: https://airbrake.io
146
152
  licenses:
147
153
  - MIT
148
154
  metadata: {}
149
- post_install_message:
155
+ post_install_message:
150
156
  rdoc_options: []
151
157
  require_paths:
152
158
  - lib
@@ -157,12 +163,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
163
  version: '2.1'
158
164
  required_rubygems_version: !ruby/object:Gem::Requirement
159
165
  requirements:
160
- - - ">="
166
+ - - ">"
161
167
  - !ruby/object:Gem::Version
162
- version: '0'
168
+ version: 1.3.1
163
169
  requirements: []
164
170
  rubygems_version: 3.1.2
165
- signing_key:
171
+ signing_key:
166
172
  specification_version: 4
167
173
  summary: Ruby notifier for https://airbrake.io
168
174
  test_files:
@@ -172,14 +178,14 @@ test_files:
172
178
  - spec/filters/exception_attributes_filter_spec.rb
173
179
  - spec/filters/root_directory_filter_spec.rb
174
180
  - spec/filters/sql_filter_spec.rb
175
- - spec/filters/keys_whitelist_spec.rb
176
181
  - spec/filters/system_exit_filter_spec.rb
177
182
  - spec/filters/thread_filter_spec.rb
183
+ - spec/filters/keys_allowlist_spec.rb
178
184
  - spec/filters/dependency_filter_spec.rb
179
185
  - spec/filters/context_filter_spec.rb
180
186
  - spec/filters/git_last_checkout_filter_spec.rb
181
187
  - spec/filters/git_revision_filter_spec.rb
182
- - spec/filters/keys_blacklist_spec.rb
188
+ - spec/filters/keys_blocklist_spec.rb
183
189
  - spec/filters/gem_root_filter_spec.rb
184
190
  - spec/filters/git_repository_filter.rb
185
191
  - spec/spec_helper.rb
@@ -196,6 +202,7 @@ test_files:
196
202
  - spec/promise_spec.rb
197
203
  - spec/thread_pool_spec.rb
198
204
  - spec/config/validator_spec.rb
205
+ - spec/config/processor_spec.rb
199
206
  - spec/sync_sender_spec.rb
200
207
  - spec/ignorable_spec.rb
201
208
  - spec/deploy_notifier_spec.rb
@@ -207,6 +214,7 @@ test_files:
207
214
  - spec/request_spec.rb
208
215
  - spec/notice_notifier/options_spec.rb
209
216
  - spec/filter_chain_spec.rb
217
+ - spec/remote_settings/settings_data_spec.rb
210
218
  - spec/response_spec.rb
211
219
  - spec/queue_spec.rb
212
220
  - spec/code_hunk_spec.rb
@@ -220,3 +228,4 @@ test_files:
220
228
  - spec/inspectable_spec.rb
221
229
  - spec/stashable_spec.rb
222
230
  - spec/query_spec.rb
231
+ - spec/remote_settings_spec.rb