coaster 1.3.12 → 1.3.13
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/coaster/core_ext/standard_error.rb +13 -1
- data/lib/coaster/version.rb +1 -1
- data/test/test_standard_error.rb +36 -3
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f0e72ea3485bb3e0fe4cf4a1ba46a8b9d15121f88451b616f7135a79b6c69513
|
4
|
+
data.tar.gz: 4ea2ff71f70966987d41ee298b06d2b98d94888faf765eb55860a3bc99d042c0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5395ecbe606496812df91dd98fc79ac6917cc0f89bf85bc3e269deeff9a1316ac562a6273e64f403f85c8fd8a865b3b6307bb9764cc6ba8704cb9908f346cb59
|
7
|
+
data.tar.gz: ae9094a1c819b49a356014c5bcc218291f4ecbb15e0670d3aaf6af88c4e52a19d2eac0b420118260927268fe01a593fb21e4f383395c0800b70b68cc0d42169b
|
@@ -29,6 +29,14 @@ class StandardError
|
|
29
29
|
end
|
30
30
|
end
|
31
31
|
|
32
|
+
def user_digests_with!(&block)
|
33
|
+
define_method(:user_digests, &block)
|
34
|
+
end
|
35
|
+
|
36
|
+
def user_digests_with_default!
|
37
|
+
define_method(:user_digests) { _user_digests }
|
38
|
+
end
|
39
|
+
|
32
40
|
def before_logging(name, &block)
|
33
41
|
@before_logging_blocks ||= {}
|
34
42
|
@before_logging_blocks[name] = block
|
@@ -105,6 +113,9 @@ class StandardError
|
|
105
113
|
msg = "{#{cause.message}}" if msg.blank? && cause
|
106
114
|
super(msg)
|
107
115
|
set_backtrace(msg.backtrace) if msg.is_a?(Exception)
|
116
|
+
@fingerprint << digest_message
|
117
|
+
@fingerprint << digest_backtrace
|
118
|
+
@fingerprint.compact!
|
108
119
|
self
|
109
120
|
end
|
110
121
|
|
@@ -117,7 +128,8 @@ class StandardError
|
|
117
128
|
@digest_message ||= Digest::MD5.hexdigest(m)[0...6]
|
118
129
|
end
|
119
130
|
def digest_backtrace; @digest_backtrace ||= backtrace ? Digest::MD5.hexdigest(cleaned_backtrace.join("\n"))[0...8] : nil end
|
120
|
-
def
|
131
|
+
def _user_digests; "#{[digest_message, digest_backtrace].compact.join(' ')}" end
|
132
|
+
alias_method :user_digests, :_user_digests
|
121
133
|
def status; self.class.status end
|
122
134
|
def before_logging_blocks; self.class.before_logging_blocks end
|
123
135
|
def after_logging_blocks; self.class.after_logging_blocks end
|
data/lib/coaster/version.rb
CHANGED
data/test/test_standard_error.rb
CHANGED
@@ -199,7 +199,9 @@ module Coaster
|
|
199
199
|
MESSAGE: Test example error (Coaster::TestStandardError::ExampleError) cause{Test sample error (Coaster::TestStandardError::SampleError)}
|
200
200
|
@attributes: {\"frog\"=>\"rams\", \"wat\"=>\"cha\"}
|
201
201
|
@coaster: true
|
202
|
-
@
|
202
|
+
@digest_backtrace: NilClass
|
203
|
+
@digest_message: a8c7c1
|
204
|
+
@fingerprint: ["a8c7c1"]
|
203
205
|
@ins_var: [\"Coaster::TestStandardError::SampleError\", {\"h\"=>1}]
|
204
206
|
@ins_varr: {\"dd\"=>true}
|
205
207
|
@level: \"error\"
|
@@ -215,7 +217,9 @@ CAUSE: [Coaster::TestStandardError::SampleError] status:10
|
|
215
217
|
MESSAGE: Test sample error (Coaster::TestStandardError::SampleError)
|
216
218
|
@attributes: {"frog"=>"rams"}
|
217
219
|
@coaster: true
|
218
|
-
@
|
220
|
+
@digest_backtrace: NilClass
|
221
|
+
@digest_message: cbe233
|
222
|
+
@fingerprint: ["cbe233"]
|
219
223
|
@level: "error"
|
220
224
|
@raven: {}
|
221
225
|
@tags: {}
|
@@ -311,7 +315,7 @@ LOG
|
|
311
315
|
assert_equal 'NameError', e.to_hash['type']
|
312
316
|
assert_equal 999999, e.to_hash['status']
|
313
317
|
assert_equal 500, e.to_hash['http_status']
|
314
|
-
assert_equal 'standard error translation (a962bd
|
318
|
+
assert_equal 'standard error translation (a962bd 3a7cb999)', e.user_message
|
315
319
|
assert_match(/undefined local variable or method `aa'/, e.to_hash['message'])
|
316
320
|
end
|
317
321
|
|
@@ -344,5 +348,34 @@ LOG
|
|
344
348
|
e = SampleErrorMightHappen.new('fbar')
|
345
349
|
assert !e.report?
|
346
350
|
end
|
351
|
+
|
352
|
+
def test_user_message_change
|
353
|
+
SampleErrorSub.user_digests_with! do
|
354
|
+
message
|
355
|
+
end
|
356
|
+
|
357
|
+
begin
|
358
|
+
raise SampleError, 'asdff'
|
359
|
+
rescue => e
|
360
|
+
assert_equal e.user_message, 'Test sample error (0dba9e f0fa4c35)'
|
361
|
+
end
|
362
|
+
begin
|
363
|
+
raise SampleErrorSub, 'asdff'
|
364
|
+
rescue => e
|
365
|
+
assert_equal e.user_message, 'Test sample error (asdff)'
|
366
|
+
end
|
367
|
+
begin
|
368
|
+
raise SampleErrorSubSub, 'asdff'
|
369
|
+
rescue => e
|
370
|
+
assert_equal e.user_message, 'Test sample error (asdff)'
|
371
|
+
end
|
372
|
+
|
373
|
+
SampleErrorSubSub.user_digests_with_default!
|
374
|
+
begin
|
375
|
+
raise SampleErrorSubSub, 'asdff'
|
376
|
+
rescue => e
|
377
|
+
assert_equal e.user_message, 'Test sample error (58ee3f 3d0f84b9)'
|
378
|
+
end
|
379
|
+
end
|
347
380
|
end
|
348
381
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: coaster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.3.
|
4
|
+
version: 1.3.13
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- buzz jung
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-07-
|
11
|
+
date: 2022-07-08 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|