airbrake-ruby 5.1.0-java → 6.0.0-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.
- checksums.yaml +4 -4
- data/lib/airbrake-ruby/async_sender.rb +3 -1
- data/lib/airbrake-ruby/config/processor.rb +2 -1
- data/lib/airbrake-ruby/config.rb +15 -6
- data/lib/airbrake-ruby/context.rb +51 -0
- data/lib/airbrake-ruby/file_cache.rb +1 -1
- data/lib/airbrake-ruby/filter_chain.rb +2 -0
- data/lib/airbrake-ruby/filters/context_filter.rb +4 -5
- data/lib/airbrake-ruby/filters/exception_attributes_filter.rb +1 -1
- data/lib/airbrake-ruby/filters/git_last_checkout_filter.rb +1 -1
- data/lib/airbrake-ruby/filters/git_repository_filter.rb +1 -1
- data/lib/airbrake-ruby/filters/git_revision_filter.rb +1 -1
- data/lib/airbrake-ruby/filters/keys_filter.rb +2 -2
- data/lib/airbrake-ruby/filters/sql_filter.rb +2 -2
- data/lib/airbrake-ruby/filters/thread_filter.rb +2 -3
- data/lib/airbrake-ruby/grouppable.rb +1 -1
- data/lib/airbrake-ruby/ignorable.rb +0 -2
- data/lib/airbrake-ruby/mergeable.rb +1 -1
- data/lib/airbrake-ruby/monotonic_time.rb +1 -1
- data/lib/airbrake-ruby/notice_notifier.rb +3 -4
- data/lib/airbrake-ruby/performance_notifier.rb +1 -2
- data/lib/airbrake-ruby/remote_settings/callback.rb +1 -1
- data/lib/airbrake-ruby/remote_settings/settings_data.rb +2 -2
- data/lib/airbrake-ruby/remote_settings.rb +8 -7
- data/lib/airbrake-ruby/tdigest.rb +10 -9
- data/lib/airbrake-ruby/thread_pool.rb +5 -3
- data/lib/airbrake-ruby/timed_trace.rb +1 -3
- data/lib/airbrake-ruby/version.rb +2 -2
- data/lib/airbrake-ruby.rb +3 -2
- data/spec/airbrake_spec.rb +139 -76
- data/spec/async_sender_spec.rb +10 -8
- data/spec/backtrace_spec.rb +13 -10
- data/spec/benchmark_spec.rb +5 -3
- data/spec/code_hunk_spec.rb +24 -15
- data/spec/config/processor_spec.rb +20 -3
- data/spec/config/validator_spec.rb +5 -2
- data/spec/config_spec.rb +26 -17
- data/spec/context_spec.rb +54 -0
- data/spec/deploy_notifier_spec.rb +6 -4
- data/spec/file_cache_spec.rb +1 -0
- data/spec/filter_chain_spec.rb +29 -24
- data/spec/filters/context_filter_spec.rb +14 -5
- data/spec/filters/dependency_filter_spec.rb +3 -1
- data/spec/filters/exception_attributes_filter_spec.rb +5 -3
- data/spec/filters/gem_root_filter_spec.rb +5 -2
- data/spec/filters/git_last_checkout_filter_spec.rb +10 -12
- data/spec/filters/git_repository_filter.rb +9 -9
- data/spec/filters/git_revision_filter_spec.rb +19 -19
- data/spec/filters/keys_allowlist_spec.rb +25 -16
- data/spec/filters/keys_blocklist_spec.rb +25 -18
- data/spec/filters/root_directory_filter_spec.rb +3 -3
- data/spec/filters/sql_filter_spec.rb +26 -26
- data/spec/filters/system_exit_filter_spec.rb +4 -2
- data/spec/filters/thread_filter_spec.rb +16 -14
- data/spec/loggable_spec.rb +2 -2
- data/spec/monotonic_time_spec.rb +8 -6
- data/spec/nested_exception_spec.rb +46 -46
- data/spec/notice_notifier/options_spec.rb +23 -13
- data/spec/notice_notifier_spec.rb +52 -47
- data/spec/notice_spec.rb +6 -2
- data/spec/performance_notifier_spec.rb +67 -60
- data/spec/promise_spec.rb +38 -32
- data/spec/remote_settings/callback_spec.rb +27 -8
- data/spec/remote_settings/settings_data_spec.rb +4 -4
- data/spec/remote_settings_spec.rb +40 -7
- data/spec/response_spec.rb +34 -12
- data/spec/stashable_spec.rb +5 -5
- data/spec/stat_spec.rb +7 -5
- data/spec/sync_sender_spec.rb +49 -16
- data/spec/tdigest_spec.rb +61 -56
- data/spec/thread_pool_spec.rb +65 -55
- data/spec/time_truncate_spec.rb +4 -2
- data/spec/timed_trace_spec.rb +32 -30
- data/spec/truncator_spec.rb +72 -43
- metadata +52 -49
data/spec/truncator_spec.rb
CHANGED
@@ -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(
|
18
|
-
expect(
|
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
|
33
|
-
expect(
|
34
|
-
|
32
|
+
it "returns a hash of the same size" do
|
33
|
+
expect(truncator.size).to eq(max_size)
|
34
|
+
end
|
35
35
|
|
36
|
-
|
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
|
-
|
40
|
-
|
41
|
-
|
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
|
56
|
-
expect(
|
57
|
-
|
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
|
-
|
60
|
-
expect(
|
61
|
-
|
62
|
-
|
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
|
77
|
-
expect(
|
78
|
-
|
98
|
+
it "returns a set of the same size" do
|
99
|
+
expect(truncator.size).to eq(max_size)
|
100
|
+
end
|
79
101
|
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
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 "
|
97
|
-
expect(
|
98
|
-
|
120
|
+
it "returns a string of a max len size" do
|
121
|
+
expect(truncator.length).to eq(max_len)
|
122
|
+
end
|
99
123
|
|
100
|
-
|
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(
|
114
|
-
expect(
|
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(
|
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(
|
153
|
-
expect(
|
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(
|
197
|
+
expect(truncator).to eq(
|
169
198
|
Set.new(['[Circular]', { k: '[Circular]' }, 'aaa[Truncated]']),
|
170
199
|
)
|
171
|
-
expect(
|
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(
|
214
|
+
expect(truncator).to eq(
|
186
215
|
a: 'aaa[Truncated]', b: 'bbb[Truncated]', c: { d: 'ddd[Truncated]', e: 'e' },
|
187
216
|
)
|
188
|
-
expect(
|
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(
|
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(
|
209
|
-
expect(
|
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(
|
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(
|
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:
|
4
|
+
version: 6.0.0
|
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:
|
11
|
+
date: 2021-09-20 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
|
@@ -100,6 +101,7 @@ files:
|
|
100
101
|
- spec/config/processor_spec.rb
|
101
102
|
- spec/config/validator_spec.rb
|
102
103
|
- spec/config_spec.rb
|
104
|
+
- spec/context_spec.rb
|
103
105
|
- spec/deploy_notifier_spec.rb
|
104
106
|
- spec/file_cache_spec.rb
|
105
107
|
- spec/filter_chain_spec.rb
|
@@ -162,73 +164,74 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
164
|
requirements:
|
163
165
|
- - ">="
|
164
166
|
- !ruby/object:Gem::Version
|
165
|
-
version: '2.
|
167
|
+
version: '2.5'
|
166
168
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
169
|
requirements:
|
168
170
|
- - ">="
|
169
171
|
- !ruby/object:Gem::Version
|
170
172
|
version: '0'
|
171
173
|
requirements: []
|
172
|
-
rubygems_version: 3.
|
174
|
+
rubygems_version: 3.2.15
|
173
175
|
signing_key:
|
174
176
|
specification_version: 4
|
175
177
|
summary: Ruby notifier for https://airbrake.io
|
176
178
|
test_files:
|
177
|
-
- spec/
|
178
|
-
- spec/benchmark_spec.rb
|
179
|
-
- spec/helpers.rb
|
180
|
-
- spec/filters/exception_attributes_filter_spec.rb
|
181
|
-
- spec/filters/root_directory_filter_spec.rb
|
182
|
-
- spec/filters/sql_filter_spec.rb
|
183
|
-
- spec/filters/system_exit_filter_spec.rb
|
184
|
-
- spec/filters/thread_filter_spec.rb
|
185
|
-
- spec/filters/keys_allowlist_spec.rb
|
186
|
-
- spec/filters/dependency_filter_spec.rb
|
187
|
-
- spec/filters/context_filter_spec.rb
|
188
|
-
- spec/filters/git_last_checkout_filter_spec.rb
|
189
|
-
- spec/filters/git_revision_filter_spec.rb
|
190
|
-
- spec/filters/keys_blocklist_spec.rb
|
191
|
-
- spec/filters/gem_root_filter_spec.rb
|
192
|
-
- spec/filters/git_repository_filter.rb
|
193
|
-
- spec/spec_helper.rb
|
194
|
-
- spec/notice_spec.rb
|
195
|
-
- spec/config_spec.rb
|
196
|
-
- spec/performance_breakdown_spec.rb
|
197
|
-
- spec/tdigest_spec.rb
|
179
|
+
- spec/airbrake_spec.rb
|
198
180
|
- spec/async_sender_spec.rb
|
199
|
-
- spec/stat_spec.rb
|
200
|
-
- spec/loggable_spec.rb
|
201
181
|
- spec/backtrace_spec.rb
|
202
|
-
- spec/
|
203
|
-
- spec/
|
204
|
-
- spec/promise_spec.rb
|
205
|
-
- spec/thread_pool_spec.rb
|
206
|
-
- spec/config/validator_spec.rb
|
182
|
+
- spec/benchmark_spec.rb
|
183
|
+
- spec/code_hunk_spec.rb
|
207
184
|
- spec/config/processor_spec.rb
|
208
|
-
- spec/
|
209
|
-
- spec/
|
185
|
+
- spec/config/validator_spec.rb
|
186
|
+
- spec/config_spec.rb
|
187
|
+
- spec/context_spec.rb
|
210
188
|
- spec/deploy_notifier_spec.rb
|
211
|
-
- spec/performance_notifier_spec.rb
|
212
|
-
- spec/airbrake_spec.rb
|
213
|
-
- spec/nested_exception_spec.rb
|
214
|
-
- spec/timed_trace_spec.rb
|
215
189
|
- spec/file_cache_spec.rb
|
216
|
-
- spec/request_spec.rb
|
217
|
-
- spec/notice_notifier/options_spec.rb
|
218
190
|
- spec/filter_chain_spec.rb
|
219
|
-
- spec/
|
220
|
-
- spec/
|
221
|
-
- spec/
|
222
|
-
- spec/
|
223
|
-
- spec/
|
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
|
224
204
|
- spec/fixtures/notroot.txt
|
225
|
-
- spec/fixtures/project_root/long_line.txt
|
226
|
-
- spec/fixtures/project_root/empty_file.rb
|
227
205
|
- spec/fixtures/project_root/code.rb
|
206
|
+
- spec/fixtures/project_root/empty_file.rb
|
207
|
+
- spec/fixtures/project_root/long_line.txt
|
228
208
|
- spec/fixtures/project_root/short_file.rb
|
229
209
|
- spec/fixtures/project_root/vendor/bundle/ignored_file.rb
|
230
|
-
- spec/
|
210
|
+
- spec/helpers.rb
|
211
|
+
- spec/ignorable_spec.rb
|
231
212
|
- spec/inspectable_spec.rb
|
232
|
-
- spec/
|
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
|
233
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
|
234
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
|