airbrake-ruby 5.0.1-java → 5.2.1-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 (73) hide show
  1. checksums.yaml +4 -4
  2. data/lib/airbrake-ruby.rb +4 -2
  3. data/lib/airbrake-ruby/async_sender.rb +3 -1
  4. data/lib/airbrake-ruby/config.rb +15 -6
  5. data/lib/airbrake-ruby/config/processor.rb +7 -20
  6. data/lib/airbrake-ruby/context.rb +51 -0
  7. data/lib/airbrake-ruby/file_cache.rb +1 -1
  8. data/lib/airbrake-ruby/filter_chain.rb +2 -0
  9. data/lib/airbrake-ruby/filters/context_filter.rb +4 -5
  10. data/lib/airbrake-ruby/filters/exception_attributes_filter.rb +1 -1
  11. data/lib/airbrake-ruby/filters/git_last_checkout_filter.rb +1 -1
  12. data/lib/airbrake-ruby/filters/git_revision_filter.rb +1 -1
  13. data/lib/airbrake-ruby/filters/keys_filter.rb +2 -2
  14. data/lib/airbrake-ruby/filters/sql_filter.rb +2 -2
  15. data/lib/airbrake-ruby/filters/thread_filter.rb +2 -3
  16. data/lib/airbrake-ruby/grouppable.rb +1 -1
  17. data/lib/airbrake-ruby/ignorable.rb +0 -2
  18. data/lib/airbrake-ruby/mergeable.rb +1 -1
  19. data/lib/airbrake-ruby/notice_notifier.rb +3 -4
  20. data/lib/airbrake-ruby/performance_notifier.rb +1 -2
  21. data/lib/airbrake-ruby/remote_settings.rb +10 -50
  22. data/lib/airbrake-ruby/remote_settings/callback.rb +44 -0
  23. data/lib/airbrake-ruby/remote_settings/settings_data.rb +3 -8
  24. data/lib/airbrake-ruby/tdigest.rb +7 -6
  25. data/lib/airbrake-ruby/thread_pool.rb +5 -3
  26. data/lib/airbrake-ruby/timed_trace.rb +1 -3
  27. data/lib/airbrake-ruby/version.rb +2 -2
  28. data/spec/airbrake_spec.rb +139 -76
  29. data/spec/async_sender_spec.rb +10 -8
  30. data/spec/backtrace_spec.rb +13 -10
  31. data/spec/benchmark_spec.rb +5 -3
  32. data/spec/code_hunk_spec.rb +24 -15
  33. data/spec/config/processor_spec.rb +29 -87
  34. data/spec/config/validator_spec.rb +5 -2
  35. data/spec/config_spec.rb +26 -17
  36. data/spec/context_spec.rb +54 -0
  37. data/spec/deploy_notifier_spec.rb +6 -4
  38. data/spec/file_cache_spec.rb +1 -0
  39. data/spec/filter_chain_spec.rb +29 -24
  40. data/spec/filters/context_filter_spec.rb +14 -5
  41. data/spec/filters/dependency_filter_spec.rb +3 -1
  42. data/spec/filters/exception_attributes_filter_spec.rb +5 -3
  43. data/spec/filters/gem_root_filter_spec.rb +5 -2
  44. data/spec/filters/git_last_checkout_filter_spec.rb +10 -12
  45. data/spec/filters/git_repository_filter.rb +9 -9
  46. data/spec/filters/git_revision_filter_spec.rb +19 -19
  47. data/spec/filters/keys_allowlist_spec.rb +25 -16
  48. data/spec/filters/keys_blocklist_spec.rb +25 -18
  49. data/spec/filters/root_directory_filter_spec.rb +3 -3
  50. data/spec/filters/sql_filter_spec.rb +26 -26
  51. data/spec/filters/system_exit_filter_spec.rb +4 -2
  52. data/spec/filters/thread_filter_spec.rb +16 -14
  53. data/spec/loggable_spec.rb +2 -2
  54. data/spec/monotonic_time_spec.rb +8 -6
  55. data/spec/nested_exception_spec.rb +46 -46
  56. data/spec/notice_notifier/options_spec.rb +23 -13
  57. data/spec/notice_notifier_spec.rb +52 -47
  58. data/spec/notice_spec.rb +6 -2
  59. data/spec/performance_notifier_spec.rb +67 -60
  60. data/spec/promise_spec.rb +38 -32
  61. data/spec/remote_settings/callback_spec.rb +162 -0
  62. data/spec/remote_settings/settings_data_spec.rb +23 -53
  63. data/spec/remote_settings_spec.rb +42 -75
  64. data/spec/response_spec.rb +34 -12
  65. data/spec/stashable_spec.rb +5 -5
  66. data/spec/stat_spec.rb +7 -5
  67. data/spec/sync_sender_spec.rb +49 -16
  68. data/spec/tdigest_spec.rb +61 -56
  69. data/spec/thread_pool_spec.rb +65 -55
  70. data/spec/time_truncate_spec.rb +4 -2
  71. data/spec/timed_trace_spec.rb +32 -30
  72. data/spec/truncator_spec.rb +72 -43
  73. metadata +53 -47
@@ -2,12 +2,14 @@ RSpec.describe Airbrake::TimeTruncate do
2
2
  describe "#utc_truncate_minutes" do
3
3
  it "truncates time to the floor minute and returns an RFC3339 timestamp" do
4
4
  time = Time.new(2018, 1, 1, 0, 0, 20, 0)
5
- expect(subject.utc_truncate_minutes(time)).to eq('2018-01-01T00:00:00+00:00')
5
+ expect(described_class.utc_truncate_minutes(time))
6
+ .to eq('2018-01-01T00:00:00+00:00')
6
7
  end
7
8
 
8
9
  it "converts time with zone to UTC" do
9
10
  time = Time.new(2018, 1, 1, 0, 0, 20, '-05:00')
10
- expect(subject.utc_truncate_minutes(time)).to eq('2018-01-01T05:00:00+00:00')
11
+ expect(described_class.utc_truncate_minutes(time))
12
+ .to eq('2018-01-01T05:00:00+00:00')
11
13
  end
12
14
  end
13
15
  end
@@ -1,50 +1,52 @@
1
1
  RSpec.describe Airbrake::TimedTrace do
2
+ subject(:timed_trace) { described_class.new }
3
+
2
4
  describe ".span" do
3
5
  it "returns a timed trace" do
4
- expect(described_class.span('operation') {}).to be_a(described_class)
6
+ expect(described_class.span('operation') { anything }).to be_a(described_class)
5
7
  end
6
8
 
7
9
  it "returns a timed trace with a stopped span" do
8
- timed_trace = described_class.span('operation') {}
10
+ timed_trace = described_class.span('operation') { anything }
9
11
  expect(timed_trace.spans).to match('operation' => be > 0)
10
12
  end
11
13
  end
12
14
 
13
15
  describe "#span" do
14
16
  it "captures a span" do
15
- subject.span('operation') {}
16
- expect(subject.spans).to match('operation' => be > 0)
17
+ timed_trace.span('operation') { anything }
18
+ expect(timed_trace.spans).to match('operation' => be > 0)
17
19
  end
18
20
  end
19
21
 
20
22
  describe "#start_span" do
21
23
  context "when called once" do
22
24
  it "returns true" do
23
- expect(subject.start_span('operation')).to eq(true)
25
+ expect(timed_trace.start_span('operation')).to eq(true)
24
26
  end
25
27
  end
26
28
 
27
29
  context "when called multiple times" do
28
- before { subject.start_span('operation') }
30
+ before { timed_trace.start_span('operation') }
29
31
 
30
32
  it "returns false" do
31
- expect(subject.start_span('operation')).to eq(false)
33
+ expect(timed_trace.start_span('operation')).to eq(false)
32
34
  end
33
35
  end
34
36
 
35
37
  context "when another span was started" do
36
- before { subject.start_span('operation') }
38
+ before { timed_trace.start_span('operation') }
37
39
 
38
40
  it "returns true" do
39
- expect(subject.start_span('another operation')).to eq(true)
41
+ expect(timed_trace.start_span('another operation')).to eq(true)
40
42
  end
41
43
  end
42
44
 
43
45
  context "when #spans was called" do
44
- before { subject.start_span('operation') }
46
+ before { timed_trace.start_span('operation') }
45
47
 
46
48
  it "returns spans with zero values" do
47
- expect(subject.spans).to eq('operation' => 0.0)
49
+ expect(timed_trace.spans).to eq('operation' => 0.0)
48
50
  end
49
51
  end
50
52
  end
@@ -52,35 +54,35 @@ RSpec.describe Airbrake::TimedTrace do
52
54
  describe "#stop_span" do
53
55
  context "when #start_span wasn't invoked" do
54
56
  it "returns false" do
55
- expect(subject.stop_span('operation')).to eq(false)
57
+ expect(timed_trace.stop_span('operation')).to eq(false)
56
58
  end
57
59
  end
58
60
 
59
61
  context "when #start_span was invoked" do
60
- before { subject.start_span('operation') }
62
+ before { timed_trace.start_span('operation') }
61
63
 
62
64
  it "returns true" do
63
- expect(subject.stop_span('operation')).to eq(true)
65
+ expect(timed_trace.stop_span('operation')).to eq(true)
64
66
  end
65
67
  end
66
68
 
67
69
  context "when multiple spans were started" do
68
70
  before do
69
- subject.start_span('operation')
70
- subject.start_span('another operation')
71
+ timed_trace.start_span('operation')
72
+ timed_trace.start_span('another operation')
71
73
  end
72
74
 
73
75
  context "and when stopping in LIFO order" do
74
76
  it "returns true for all spans" do
75
- expect(subject.stop_span('another operation')).to eq(true)
76
- expect(subject.stop_span('operation')).to eq(true)
77
+ expect(timed_trace.stop_span('another operation')).to eq(true)
78
+ expect(timed_trace.stop_span('operation')).to eq(true)
77
79
  end
78
80
  end
79
81
 
80
82
  context "and when stopping in FIFO order" do
81
83
  it "returns true for all spans" do
82
- expect(subject.stop_span('operation')).to eq(true)
83
- expect(subject.stop_span('another operation')).to eq(true)
84
+ expect(timed_trace.stop_span('operation')).to eq(true)
85
+ expect(timed_trace.stop_span('another operation')).to eq(true)
84
86
  end
85
87
  end
86
88
  end
@@ -89,33 +91,33 @@ RSpec.describe Airbrake::TimedTrace do
89
91
  describe "#spans" do
90
92
  context "when no spans were captured" do
91
93
  it "returns an empty hash" do
92
- expect(subject.spans).to eq({})
94
+ expect(timed_trace.spans).to eq({})
93
95
  end
94
96
  end
95
97
 
96
98
  context "when a span was captured" do
97
99
  before do
98
- subject.start_span('operation')
99
- subject.stop_span('operation')
100
+ timed_trace.start_span('operation')
101
+ timed_trace.stop_span('operation')
100
102
  end
101
103
 
102
104
  it "returns a Hash with the corresponding span" do
103
- subject.stop_span('operation')
104
- expect(subject.spans).to match('operation' => be > 0)
105
+ timed_trace.stop_span('operation')
106
+ expect(timed_trace.spans).to match('operation' => be > 0)
105
107
  end
106
108
  end
107
109
 
108
110
  context "when multiple spans were captured" do
109
111
  before do
110
- subject.start_span('operation')
111
- subject.stop_span('operation')
112
+ timed_trace.start_span('operation')
113
+ timed_trace.stop_span('operation')
112
114
 
113
- subject.start_span('another operation')
114
- subject.stop_span('another operation')
115
+ timed_trace.start_span('another operation')
116
+ timed_trace.stop_span('another operation')
115
117
  end
116
118
 
117
119
  it "returns a Hash with all spans" do
118
- expect(subject.spans).to match(
120
+ expect(timed_trace.spans).to match(
119
121
  'operation' => be > 0,
120
122
  'another operation' => be > 0,
121
123
  )
@@ -4,18 +4,18 @@ RSpec.describe Airbrake::Truncator do
4
4
  end
5
5
 
6
6
  describe "#truncate" do
7
+ subject(:truncator) { described_class.new(max_size).truncate(object) }
8
+
7
9
  let(:max_size) { 3 }
8
10
  let(:truncated) { '[Truncated]' }
9
11
  let(:max_len) { max_size + truncated.length }
10
12
 
11
- subject { described_class.new(max_size).truncate(object) }
12
-
13
13
  context "given a frozen string" do
14
14
  let(:object) { multiply_by_2_max_len('a') }
15
15
 
16
16
  it "returns a new truncated frozen string" do
17
- expect(subject.length).to eq(max_len)
18
- expect(subject).to be_frozen
17
+ expect(truncator.length).to eq(max_len)
18
+ expect(truncator).to be_frozen
19
19
  end
20
20
  end
21
21
 
@@ -29,16 +29,27 @@ RSpec.describe Airbrake::Truncator do
29
29
  }.freeze
30
30
  end
31
31
 
32
- it "returns a new truncated frozen hash" do
33
- expect(subject.size).to eq(max_size)
34
- expect(subject).to be_frozen
32
+ it "returns a hash of the same size" do
33
+ expect(truncator.size).to eq(max_size)
34
+ end
35
35
 
36
- expect(subject).to eq(
36
+ it "returns a frozen hash" do
37
+ expect(truncator).to be_frozen
38
+ end
39
+
40
+ it "returns a hash with truncated values" do
41
+ expect(truncator).to eq(
37
42
  banana: 'aaa[Truncated]', kiwi: 'bbb[Truncated]', strawberry: 'c',
38
43
  )
39
- expect(subject[:banana]).to be_frozen
40
- expect(subject[:kiwi]).to be_frozen
41
- expect(subject[:strawberry]).not_to be_frozen
44
+ end
45
+
46
+ it "returns a hash with truncated strings that are frozen" do
47
+ expect(truncator[:banana]).to be_frozen
48
+ expect(truncator[:kiwi]).to be_frozen
49
+ end
50
+
51
+ it "returns a hash unfrozen untruncated strings" do
52
+ expect(truncator[:strawberry]).not_to be_frozen
42
53
  end
43
54
  end
44
55
 
@@ -52,14 +63,25 @@ RSpec.describe Airbrake::Truncator do
52
63
  ].freeze
53
64
  end
54
65
 
55
- it "returns a new truncated frozen array" do
56
- expect(subject.size).to eq(max_size)
57
- expect(subject).to be_frozen
66
+ it "returns an array of the same size" do
67
+ expect(truncator.size).to eq(max_size)
68
+ end
69
+
70
+ it "returns a frozen array" do
71
+ expect(truncator).to be_frozen
72
+ end
58
73
 
59
- expect(subject).to eq(['aaa[Truncated]', 'b', 'ccc[Truncated]'])
60
- expect(subject[0]).to be_frozen
61
- expect(subject[1]).not_to be_frozen
62
- expect(subject[2]).to be_frozen
74
+ it "returns an array with truncated values" do
75
+ expect(truncator).to eq(['aaa[Truncated]', 'b', 'ccc[Truncated]'])
76
+ end
77
+
78
+ it "returns an array with truncated strings that are frozen" do
79
+ expect(truncator[0]).to be_frozen
80
+ expect(truncator[2]).to be_frozen
81
+ end
82
+
83
+ it "returns an array with unfrozen untruncated strings" do
84
+ expect(truncator[1]).not_to be_frozen
63
85
  end
64
86
  end
65
87
 
@@ -73,14 +95,16 @@ RSpec.describe Airbrake::Truncator do
73
95
  ]).freeze
74
96
  end
75
97
 
76
- it "returns a new truncated frozen array" do
77
- expect(subject.size).to eq(max_size)
78
- expect(subject).to be_frozen
98
+ it "returns a set of the same size" do
99
+ expect(truncator.size).to eq(max_size)
100
+ end
79
101
 
80
- expect(subject).to eq(
81
- Set.new(['aaa[Truncated]', 'b', 'ccc[Truncated]']),
82
- )
83
- expect(subject).to be_frozen
102
+ it "returns a frozen set" do
103
+ expect(truncator).to be_frozen
104
+ end
105
+
106
+ it "returns a set with truncated values" do
107
+ expect(truncator).to eq(Set.new(['aaa[Truncated]', 'b', 'ccc[Truncated]']))
84
108
  end
85
109
  end
86
110
 
@@ -93,11 +117,16 @@ RSpec.describe Airbrake::Truncator do
93
117
  obj.freeze
94
118
  end
95
119
 
96
- it "converts the object to truncated JSON" do
97
- expect(subject.length).to eq(max_len)
98
- expect(subject).to be_frozen
120
+ it "returns a string of a max len size" do
121
+ expect(truncator.length).to eq(max_len)
122
+ end
99
123
 
100
- expect(subject).to eq('{"o[Truncated]')
124
+ it "returns a frozen object" do
125
+ expect(truncator).to be_frozen
126
+ end
127
+
128
+ it "converts the object to truncated JSON" do
129
+ expect(truncator).to eq('{"o[Truncated]')
101
130
  end
102
131
  end
103
132
 
@@ -110,8 +139,8 @@ RSpec.describe Airbrake::Truncator do
110
139
  end
111
140
 
112
141
  it "converts the object to a truncated string" do
113
- expect(subject.length).to eq(max_len)
114
- expect(subject).to eq('#<O[Truncated]')
142
+ expect(truncator.length).to eq(max_len)
143
+ expect(truncator).to eq('#<O[Truncated]')
115
144
  end
116
145
  end
117
146
 
@@ -134,7 +163,7 @@ RSpec.describe Airbrake::Truncator do
134
163
  end
135
164
 
136
165
  it "prevents recursion" do
137
- expect(subject).to eq(['aaa[Truncated]', 'bb', '[Circular]'])
166
+ expect(truncator).to eq(['aaa[Truncated]', 'bb', '[Circular]'])
138
167
  end
139
168
  end
140
169
 
@@ -149,8 +178,8 @@ RSpec.describe Airbrake::Truncator do
149
178
  end
150
179
 
151
180
  it "prevents recursion" do
152
- expect(subject).to eq(['[Circular]', { k: '[Circular]' }, 'aaa[Truncated]'])
153
- expect(subject).to be_frozen
181
+ expect(truncator).to eq(['[Circular]', { k: '[Circular]' }, 'aaa[Truncated]'])
182
+ expect(truncator).to be_frozen
154
183
  end
155
184
  end
156
185
 
@@ -165,10 +194,10 @@ RSpec.describe Airbrake::Truncator do
165
194
  end
166
195
 
167
196
  it "prevents recursion" do
168
- expect(subject).to eq(
197
+ expect(truncator).to eq(
169
198
  Set.new(['[Circular]', { k: '[Circular]' }, 'aaa[Truncated]']),
170
199
  )
171
- expect(subject).to be_frozen
200
+ expect(truncator).to be_frozen
172
201
  end
173
202
  end
174
203
 
@@ -182,10 +211,10 @@ RSpec.describe Airbrake::Truncator do
182
211
  end
183
212
 
184
213
  it "truncates the long strings" do
185
- expect(subject).to eq(
214
+ expect(truncator).to eq(
186
215
  a: 'aaa[Truncated]', b: 'bbb[Truncated]', c: { d: 'ddd[Truncated]', e: 'e' },
187
216
  )
188
- expect(subject).to be_frozen
217
+ expect(truncator).to be_frozen
189
218
  end
190
219
  end
191
220
 
@@ -193,7 +222,7 @@ RSpec.describe Airbrake::Truncator do
193
222
  let(:object) { "€€€€€" }
194
223
 
195
224
  it "truncates the string" do
196
- expect(subject).to eq("€€€[Truncated]")
225
+ expect(truncator).to eq("€€€[Truncated]")
197
226
  end
198
227
  end
199
228
 
@@ -205,8 +234,8 @@ RSpec.describe Airbrake::Truncator do
205
234
  end
206
235
 
207
236
  it "converts and truncates the string to UTF-8" do
208
- expect(subject).to eq("���[Truncated]")
209
- expect(subject).to be_frozen
237
+ expect(truncator).to eq("���[Truncated]")
238
+ expect(truncator).to be_frozen
210
239
  end
211
240
  end
212
241
 
@@ -224,14 +253,14 @@ RSpec.describe Airbrake::Truncator do
224
253
  end
225
254
 
226
255
  it "truncates values" do
227
- expect(subject).to eq(
256
+ expect(truncator).to eq(
228
257
  errors: [
229
258
  { file: 'a' },
230
259
  { file: 'a' },
231
260
  hashie.new.merge(file: 'bcd[Truncated]'),
232
261
  ],
233
262
  )
234
- expect(subject).to be_frozen
263
+ expect(truncator).to be_frozen
235
264
  end
236
265
  end
237
266
  end
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: 5.0.1
4
+ version: 5.2.1
5
5
  platform: java
6
6
  authors:
7
7
  - Airbrake Technologies, Inc.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-08-17 00:00:00.000000000 Z
11
+ date: 2021-06-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbtree-jruby
@@ -46,6 +46,7 @@ files:
46
46
  - lib/airbrake-ruby/config.rb
47
47
  - lib/airbrake-ruby/config/processor.rb
48
48
  - lib/airbrake-ruby/config/validator.rb
49
+ - lib/airbrake-ruby/context.rb
49
50
  - lib/airbrake-ruby/deploy_notifier.rb
50
51
  - lib/airbrake-ruby/file_cache.rb
51
52
  - lib/airbrake-ruby/filter_chain.rb
@@ -79,6 +80,7 @@ files:
79
80
  - lib/airbrake-ruby/query.rb
80
81
  - lib/airbrake-ruby/queue.rb
81
82
  - lib/airbrake-ruby/remote_settings.rb
83
+ - lib/airbrake-ruby/remote_settings/callback.rb
82
84
  - lib/airbrake-ruby/remote_settings/settings_data.rb
83
85
  - lib/airbrake-ruby/request.rb
84
86
  - lib/airbrake-ruby/response.rb
@@ -99,6 +101,7 @@ files:
99
101
  - spec/config/processor_spec.rb
100
102
  - spec/config/validator_spec.rb
101
103
  - spec/config_spec.rb
104
+ - spec/context_spec.rb
102
105
  - spec/deploy_notifier_spec.rb
103
106
  - spec/file_cache_spec.rb
104
107
  - spec/filter_chain_spec.rb
@@ -135,6 +138,7 @@ files:
135
138
  - spec/promise_spec.rb
136
139
  - spec/query_spec.rb
137
140
  - spec/queue_spec.rb
141
+ - spec/remote_settings/callback_spec.rb
138
142
  - spec/remote_settings/settings_data_spec.rb
139
143
  - spec/remote_settings_spec.rb
140
144
  - spec/request_spec.rb
@@ -167,65 +171,67 @@ required_rubygems_version: !ruby/object:Gem::Requirement
167
171
  - !ruby/object:Gem::Version
168
172
  version: '0'
169
173
  requirements: []
170
- rubygems_version: 3.1.2
174
+ rubygems_version: 3.2.15
171
175
  signing_key:
172
176
  specification_version: 4
173
177
  summary: Ruby notifier for https://airbrake.io
174
178
  test_files:
175
- - spec/truncator_spec.rb
176
- - spec/benchmark_spec.rb
177
- - spec/helpers.rb
178
- - spec/filters/exception_attributes_filter_spec.rb
179
- - spec/filters/root_directory_filter_spec.rb
180
- - spec/filters/sql_filter_spec.rb
181
- - spec/filters/system_exit_filter_spec.rb
182
- - spec/filters/thread_filter_spec.rb
183
- - spec/filters/keys_allowlist_spec.rb
184
- - spec/filters/dependency_filter_spec.rb
185
- - spec/filters/context_filter_spec.rb
186
- - spec/filters/git_last_checkout_filter_spec.rb
187
- - spec/filters/git_revision_filter_spec.rb
188
- - spec/filters/keys_blocklist_spec.rb
189
- - spec/filters/gem_root_filter_spec.rb
190
- - spec/filters/git_repository_filter.rb
191
- - spec/spec_helper.rb
192
- - spec/notice_spec.rb
193
- - spec/config_spec.rb
194
- - spec/performance_breakdown_spec.rb
195
- - spec/tdigest_spec.rb
179
+ - spec/airbrake_spec.rb
196
180
  - spec/async_sender_spec.rb
197
- - spec/stat_spec.rb
198
- - spec/loggable_spec.rb
199
181
  - spec/backtrace_spec.rb
200
- - spec/notice_notifier_spec.rb
201
- - spec/time_truncate_spec.rb
202
- - spec/promise_spec.rb
203
- - spec/thread_pool_spec.rb
204
- - spec/config/validator_spec.rb
182
+ - spec/benchmark_spec.rb
183
+ - spec/code_hunk_spec.rb
205
184
  - spec/config/processor_spec.rb
206
- - spec/sync_sender_spec.rb
207
- - spec/ignorable_spec.rb
185
+ - spec/config/validator_spec.rb
186
+ - spec/config_spec.rb
187
+ - spec/context_spec.rb
208
188
  - spec/deploy_notifier_spec.rb
209
- - spec/performance_notifier_spec.rb
210
- - spec/airbrake_spec.rb
211
- - spec/nested_exception_spec.rb
212
- - spec/timed_trace_spec.rb
213
189
  - spec/file_cache_spec.rb
214
- - spec/request_spec.rb
215
- - spec/notice_notifier/options_spec.rb
216
190
  - spec/filter_chain_spec.rb
217
- - spec/remote_settings/settings_data_spec.rb
218
- - spec/response_spec.rb
219
- - spec/queue_spec.rb
220
- - spec/code_hunk_spec.rb
191
+ - spec/filters/context_filter_spec.rb
192
+ - spec/filters/dependency_filter_spec.rb
193
+ - spec/filters/exception_attributes_filter_spec.rb
194
+ - spec/filters/gem_root_filter_spec.rb
195
+ - spec/filters/git_last_checkout_filter_spec.rb
196
+ - spec/filters/git_repository_filter.rb
197
+ - spec/filters/git_revision_filter_spec.rb
198
+ - spec/filters/keys_allowlist_spec.rb
199
+ - spec/filters/keys_blocklist_spec.rb
200
+ - spec/filters/root_directory_filter_spec.rb
201
+ - spec/filters/sql_filter_spec.rb
202
+ - spec/filters/system_exit_filter_spec.rb
203
+ - spec/filters/thread_filter_spec.rb
221
204
  - spec/fixtures/notroot.txt
222
- - spec/fixtures/project_root/long_line.txt
223
- - spec/fixtures/project_root/empty_file.rb
224
205
  - spec/fixtures/project_root/code.rb
206
+ - spec/fixtures/project_root/empty_file.rb
207
+ - spec/fixtures/project_root/long_line.txt
225
208
  - spec/fixtures/project_root/short_file.rb
226
209
  - spec/fixtures/project_root/vendor/bundle/ignored_file.rb
227
- - spec/monotonic_time_spec.rb
210
+ - spec/helpers.rb
211
+ - spec/ignorable_spec.rb
228
212
  - spec/inspectable_spec.rb
229
- - spec/stashable_spec.rb
213
+ - spec/loggable_spec.rb
214
+ - spec/monotonic_time_spec.rb
215
+ - spec/nested_exception_spec.rb
216
+ - spec/notice_notifier/options_spec.rb
217
+ - spec/notice_notifier_spec.rb
218
+ - spec/notice_spec.rb
219
+ - spec/performance_breakdown_spec.rb
220
+ - spec/performance_notifier_spec.rb
221
+ - spec/promise_spec.rb
230
222
  - spec/query_spec.rb
223
+ - spec/queue_spec.rb
224
+ - spec/remote_settings/callback_spec.rb
225
+ - spec/remote_settings/settings_data_spec.rb
231
226
  - spec/remote_settings_spec.rb
227
+ - spec/request_spec.rb
228
+ - spec/response_spec.rb
229
+ - spec/spec_helper.rb
230
+ - spec/stashable_spec.rb
231
+ - spec/stat_spec.rb
232
+ - spec/sync_sender_spec.rb
233
+ - spec/tdigest_spec.rb
234
+ - spec/thread_pool_spec.rb
235
+ - spec/time_truncate_spec.rb
236
+ - spec/timed_trace_spec.rb
237
+ - spec/truncator_spec.rb