coaster 1.3.12 → 1.3.13

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 45d083d682df8b024fcce2a5e1ff9f9fa7589c03cecddb8fe04a32c528914511
4
- data.tar.gz: 8aeb272d94a114da13252c843f8ce437db608776cf9f8155449f285e0c471611
3
+ metadata.gz: f0e72ea3485bb3e0fe4cf4a1ba46a8b9d15121f88451b616f7135a79b6c69513
4
+ data.tar.gz: 4ea2ff71f70966987d41ee298b06d2b98d94888faf765eb55860a3bc99d042c0
5
5
  SHA512:
6
- metadata.gz: 6c2a75dea276c213528a81eb9360095946e54c0cedba5eb88107a7c3b258df0e32b2e99b02a025d779e357b0ff989ed26a2694ff808427bfe836d9fca1b5199c
7
- data.tar.gz: 2d6ba059905d6ff0f0cd234d1bd158ab48b641039e20b325bec568033e4eb1842eff350613663b88847b65f429e734675731954127c51b892bfcbfaaf86cd8d4
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 user_digests; @user_digests ||= "#{[digest_message, digest_backtrace].compact.join(' ')}" end
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
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.3.12'
2
+ VERSION = '1.3.13'
3
3
  end
@@ -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
- @fingerprint: []
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
- @fingerprint: []
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 80dfafa3)', e.user_message
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.12
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-05 00:00:00.000000000 Z
11
+ date: 2022-07-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: i18n