coaster 1.3.26 → 1.3.28

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: '0508a1aac1a7bd5b88db6d62d5a928a870f5a34763fcf6e578390fd0b8b2a0e9'
4
- data.tar.gz: ede4991485b4ca7e1df33b31087ece02ba6aa614e36d007f6c7331b31d91c166
3
+ metadata.gz: 69a9eb83228b624c93abb0c9a4388db9aefb093e6371c5894db112796be35216
4
+ data.tar.gz: e120a8005d27155ad5db3c711085cf69dd946d6521c8e15311b182e0e51290f8
5
5
  SHA512:
6
- metadata.gz: fa917d7790fa7beda1a4d7a70d188a606af266bdd26c72703af5e598a50cf74db8498835d5c4c9fc8b1f574f9ec5a2af3bdd98ee5553efa63b8b078442503091
7
- data.tar.gz: 7e694dda54a52511f5e1c83b61d7396b33b89bfdb144799ef04dc07d4a0dd7b6c22003baaafd237800f5246a17578f8a58403db3fa6c1880008e0d2cadaa3c2a
6
+ metadata.gz: ac2f5e5d9e93408837d49926609d76b84eeed06f262404fd1c68aeb887782c2a44fd2e8f96374ce9db2b34bf8062640a645157f7d46b0e2bcaa9baaf31d5483f
7
+ data.tar.gz: 5795ff40b61e4cba9405d76a8c20d2f7d743f933ec2d7bfaa683668ccfd80b556f4133b23e0039f40a38dabf9b35d19031cbc2456d9447594e42eb002d38563a
@@ -86,9 +86,9 @@ class StandardError
86
86
  @level = message.level
87
87
  @tkey = message.tkey
88
88
  @attributes = @attributes.merge(message.attributes || {})
89
- msg = message
89
+ msg = message.message
90
90
  when Exception
91
- msg = message
91
+ msg = message.message
92
92
  when Hash then
93
93
  @coaster = true # coaster 확장을 사용한 에러임을 확인할 수 있음.
94
94
  hash = message.with_indifferent_access rescue message
@@ -120,7 +120,7 @@ class StandardError
120
120
  msg = "{#{cause.message}}" if msg.blank? && cause
121
121
  super(msg)
122
122
  @digest_message = self.class.digest_message(msg)
123
- set_backtrace(msg.backtrace) if msg.is_a?(Exception)
123
+ set_backtrace(message.backtrace) if message.is_a?(Exception)
124
124
  @fingerprint << @digest_message
125
125
  @fingerprint << digest_backtrace
126
126
  @fingerprint.compact!
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.3.26'
2
+ VERSION = '1.3.28'
3
3
  end
data/lib/coaster.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'oj'
1
2
  require 'active_support/core_ext/hash/indifferent_access'
2
3
  require 'active_support/core_ext/module/attribute_accessors'
3
4
  require 'active_support/core_ext/class/attribute_accessors'
@@ -316,7 +316,7 @@ LOG
316
316
  assert_equal 'NameError', e.to_hash['type']
317
317
  assert_equal 999999, e.to_hash['status']
318
318
  assert_equal 500, e.to_hash['http_status']
319
- assert_equal "standard error translation (37c30e #{bt})", e.user_message
319
+ assert_equal "standard error translation (3dd84e #{bt})", e.user_message
320
320
  assert_match(/undefined local variable or method `aa'/, e.to_hash['message'])
321
321
  end
322
322
 
@@ -327,6 +327,13 @@ LOG
327
327
  assert_equal 1, e.descriptions['a']
328
328
  end
329
329
 
330
+ def test_to_json
331
+ raise SampleError
332
+ rescue => e
333
+ json = ::JSON.dump({error: e})
334
+ assert_equal "{\"error\":{\"type\":\"Coaster::TestStandardError::SampleError\",\"status\":10,\"http_status\":500,\"message\":\"Coaster::TestStandardError::SampleError\"}}", json
335
+ end
336
+
330
337
  class SampleErrorSub < SampleError; end
331
338
  class SampleErrorSubSub < SampleErrorSub
332
339
  def it_might_happen?; true end
@@ -380,5 +387,11 @@ LOG
380
387
  assert_equal "Test sample error (58ee3f #{bt})", e.user_message
381
388
  end
382
389
  end
390
+
391
+ def test_wrapping_digest
392
+ a = StandardError.new('#<Abc:0x111>')
393
+ b = StandardError.new(a)
394
+ assert_equal '#<Abc:0x111>', b.message
395
+ end
383
396
  end
384
397
  end
metadata CHANGED
@@ -1,15 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coaster
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.26
4
+ version: 1.3.28
5
5
  platform: ruby
6
6
  authors:
7
7
  - buzz jung
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-04-12 00:00:00.000000000 Z
11
+ date: 2023-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: oj
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
13
27
  - !ruby/object:Gem::Dependency
14
28
  name: i18n
15
29
  requirement: !ruby/object:Gem::Requirement