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 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