airbrake-ruby 5.2.0-java → 6.0.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.
- checksums.yaml +4 -4
- data/lib/airbrake-ruby/async_sender.rb +3 -1
- data/lib/airbrake-ruby/config.rb +3 -3
- data/lib/airbrake-ruby/context.rb +51 -0
- 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 +2 -2
- 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 +8 -8
- data/lib/airbrake-ruby/filters/thread_filter.rb +1 -1
- data/lib/airbrake-ruby/ignorable.rb +0 -2
- 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 +39 -40
- data/lib/airbrake-ruby/remote_settings/settings_data.rb +1 -1
- data/lib/airbrake-ruby/remote_settings.rb +26 -3
- data/lib/airbrake-ruby/stat.rb +1 -1
- data/lib/airbrake-ruby/tdigest.rb +10 -9
- data/lib/airbrake-ruby/thread_pool.rb +8 -6
- data/lib/airbrake-ruby/time_truncate.rb +2 -2
- data/lib/airbrake-ruby/timed_trace.rb +1 -3
- data/lib/airbrake-ruby/version.rb +1 -1
- data/lib/airbrake-ruby.rb +24 -23
- 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 +12 -4
- data/spec/config/validator_spec.rb +5 -2
- data/spec/config_spec.rb +28 -20
- 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 +20 -20
- 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 +15 -13
- 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 +69 -62
- 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 +23 -9
- 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 +60 -55
- data/spec/thread_pool_spec.rb +65 -56
- data/spec/time_truncate_spec.rb +23 -6
- data/spec/timed_trace_spec.rb +32 -30
- data/spec/truncator_spec.rb +72 -43
- metadata +54 -50
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.2
|
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: 2022-01-10 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
|
@@ -153,7 +155,8 @@ files:
|
|
153
155
|
homepage: https://airbrake.io
|
154
156
|
licenses:
|
155
157
|
- MIT
|
156
|
-
metadata:
|
158
|
+
metadata:
|
159
|
+
rubygems_mfa_required: 'true'
|
157
160
|
post_install_message:
|
158
161
|
rdoc_options: []
|
159
162
|
require_paths:
|
@@ -162,73 +165,74 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
162
165
|
requirements:
|
163
166
|
- - ">="
|
164
167
|
- !ruby/object:Gem::Version
|
165
|
-
version: '2.
|
168
|
+
version: '2.5'
|
166
169
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
167
170
|
requirements:
|
168
171
|
- - ">="
|
169
172
|
- !ruby/object:Gem::Version
|
170
173
|
version: '0'
|
171
174
|
requirements: []
|
172
|
-
rubygems_version: 3.
|
175
|
+
rubygems_version: 3.2.15
|
173
176
|
signing_key:
|
174
177
|
specification_version: 4
|
175
178
|
summary: Ruby notifier for https://airbrake.io
|
176
179
|
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
|
180
|
+
- spec/airbrake_spec.rb
|
198
181
|
- spec/async_sender_spec.rb
|
199
|
-
- spec/stat_spec.rb
|
200
|
-
- spec/loggable_spec.rb
|
201
182
|
- 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
|
183
|
+
- spec/benchmark_spec.rb
|
184
|
+
- spec/code_hunk_spec.rb
|
207
185
|
- spec/config/processor_spec.rb
|
208
|
-
- spec/
|
209
|
-
- spec/
|
186
|
+
- spec/config/validator_spec.rb
|
187
|
+
- spec/config_spec.rb
|
188
|
+
- spec/context_spec.rb
|
210
189
|
- 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
190
|
- spec/file_cache_spec.rb
|
216
|
-
- spec/request_spec.rb
|
217
|
-
- spec/notice_notifier/options_spec.rb
|
218
191
|
- spec/filter_chain_spec.rb
|
219
|
-
- spec/
|
220
|
-
- spec/
|
221
|
-
- spec/
|
222
|
-
- spec/
|
223
|
-
- spec/
|
192
|
+
- spec/filters/context_filter_spec.rb
|
193
|
+
- spec/filters/dependency_filter_spec.rb
|
194
|
+
- spec/filters/exception_attributes_filter_spec.rb
|
195
|
+
- spec/filters/gem_root_filter_spec.rb
|
196
|
+
- spec/filters/git_last_checkout_filter_spec.rb
|
197
|
+
- spec/filters/git_repository_filter.rb
|
198
|
+
- spec/filters/git_revision_filter_spec.rb
|
199
|
+
- spec/filters/keys_allowlist_spec.rb
|
200
|
+
- spec/filters/keys_blocklist_spec.rb
|
201
|
+
- spec/filters/root_directory_filter_spec.rb
|
202
|
+
- spec/filters/sql_filter_spec.rb
|
203
|
+
- spec/filters/system_exit_filter_spec.rb
|
204
|
+
- spec/filters/thread_filter_spec.rb
|
224
205
|
- spec/fixtures/notroot.txt
|
225
|
-
- spec/fixtures/project_root/long_line.txt
|
226
|
-
- spec/fixtures/project_root/empty_file.rb
|
227
206
|
- spec/fixtures/project_root/code.rb
|
207
|
+
- spec/fixtures/project_root/empty_file.rb
|
208
|
+
- spec/fixtures/project_root/long_line.txt
|
228
209
|
- spec/fixtures/project_root/short_file.rb
|
229
210
|
- spec/fixtures/project_root/vendor/bundle/ignored_file.rb
|
230
|
-
- spec/
|
211
|
+
- spec/helpers.rb
|
212
|
+
- spec/ignorable_spec.rb
|
231
213
|
- spec/inspectable_spec.rb
|
232
|
-
- spec/
|
214
|
+
- spec/loggable_spec.rb
|
215
|
+
- spec/monotonic_time_spec.rb
|
216
|
+
- spec/nested_exception_spec.rb
|
217
|
+
- spec/notice_notifier/options_spec.rb
|
218
|
+
- spec/notice_notifier_spec.rb
|
219
|
+
- spec/notice_spec.rb
|
220
|
+
- spec/performance_breakdown_spec.rb
|
221
|
+
- spec/performance_notifier_spec.rb
|
222
|
+
- spec/promise_spec.rb
|
233
223
|
- spec/query_spec.rb
|
224
|
+
- spec/queue_spec.rb
|
225
|
+
- spec/remote_settings/callback_spec.rb
|
226
|
+
- spec/remote_settings/settings_data_spec.rb
|
234
227
|
- spec/remote_settings_spec.rb
|
228
|
+
- spec/request_spec.rb
|
229
|
+
- spec/response_spec.rb
|
230
|
+
- spec/spec_helper.rb
|
231
|
+
- spec/stashable_spec.rb
|
232
|
+
- spec/stat_spec.rb
|
233
|
+
- spec/sync_sender_spec.rb
|
234
|
+
- spec/tdigest_spec.rb
|
235
|
+
- spec/thread_pool_spec.rb
|
236
|
+
- spec/time_truncate_spec.rb
|
237
|
+
- spec/timed_trace_spec.rb
|
238
|
+
- spec/truncator_spec.rb
|