coaster 1.3.11 → 1.3.12
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 +14 -8
- data/lib/coaster/version.rb +1 -1
- data/test/test_backtrace.rb +29 -0
- metadata +8 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 45d083d682df8b024fcce2a5e1ff9f9fa7589c03cecddb8fe04a32c528914511
|
|
4
|
+
data.tar.gz: 8aeb272d94a114da13252c843f8ce437db608776cf9f8155449f285e0c471611
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 6c2a75dea276c213528a81eb9360095946e54c0cedba5eb88107a7c3b258df0e32b2e99b02a025d779e357b0ff989ed26a2694ff808427bfe836d9fca1b5199c
|
|
7
|
+
data.tar.gz: 2d6ba059905d6ff0f0cd234d1bd158ab48b641039e20b325bec568033e4eb1842eff350613663b88847b65f429e734675731954127c51b892bfcbfaaf86cd8d4
|
|
@@ -55,21 +55,25 @@ class StandardError
|
|
|
55
55
|
@tags = {}
|
|
56
56
|
@level = 'error'
|
|
57
57
|
@attributes = HashWithIndifferentAccess.new
|
|
58
|
-
@attributes.merge!(cause.attributes || {}) if cause && cause.respond_to?(:attributes)
|
|
59
58
|
@tkey = nil
|
|
59
|
+
if cause && cause.is_a?(StandardError)
|
|
60
|
+
@fingerprint = cause.fingerprint.dup
|
|
61
|
+
@tags = cause.tags.dup
|
|
62
|
+
@level = cause.level
|
|
63
|
+
@tkey = cause.tkey
|
|
64
|
+
@attributes = cause.attributes.dup
|
|
65
|
+
end
|
|
60
66
|
|
|
61
67
|
case message
|
|
62
|
-
when Exception
|
|
63
|
-
msg = message
|
|
64
|
-
set_backtrace(message.backtrace)
|
|
65
68
|
when StandardError
|
|
66
|
-
@fingerprint = message.fingerprint
|
|
67
|
-
@tags = message.tags
|
|
69
|
+
@fingerprint = [message.fingerprint, @fingerprint].flatten.compact.uniq
|
|
70
|
+
@tags = @tags.merge(message.tags || {})
|
|
68
71
|
@level = message.level
|
|
69
72
|
@tkey = message.tkey
|
|
70
|
-
@attributes = message.attributes
|
|
73
|
+
@attributes = @attributes.merge(message.attributes || {})
|
|
74
|
+
msg = message
|
|
75
|
+
when Exception
|
|
71
76
|
msg = message
|
|
72
|
-
set_backtrace(message.backtrace)
|
|
73
77
|
when Hash then
|
|
74
78
|
@coaster = true # coaster 확장을 사용한 에러임을 확인할 수 있음.
|
|
75
79
|
hash = message.with_indifferent_access rescue message
|
|
@@ -100,6 +104,8 @@ class StandardError
|
|
|
100
104
|
@tags = {} unless @tags.is_a?(Hash)
|
|
101
105
|
msg = "{#{cause.message}}" if msg.blank? && cause
|
|
102
106
|
super(msg)
|
|
107
|
+
set_backtrace(msg.backtrace) if msg.is_a?(Exception)
|
|
108
|
+
self
|
|
103
109
|
end
|
|
104
110
|
|
|
105
111
|
def safe_message; message || '' end
|
data/lib/coaster/version.rb
CHANGED
data/test/test_backtrace.rb
CHANGED
|
@@ -178,5 +178,34 @@ module Coaster
|
|
|
178
178
|
end
|
|
179
179
|
end
|
|
180
180
|
end
|
|
181
|
+
|
|
182
|
+
def test_backtrace_to_keep
|
|
183
|
+
e = ArgumentError.new(m: 'blahasdf', desc: 'qwer')
|
|
184
|
+
new_e = StandardError.new(e)
|
|
185
|
+
assert_equal new_e.message, e.message
|
|
186
|
+
assert_equal new_e.description, e.description
|
|
187
|
+
assert_nil new_e.backtrace
|
|
188
|
+
assert_nil e.backtrace
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
def test_backtrace_to_keep_as_cause
|
|
192
|
+
raise ArgumentError, m: 'blahasdf', desc: 'qwer'
|
|
193
|
+
rescue => e
|
|
194
|
+
new_e = StandardError.new(e)
|
|
195
|
+
assert_equal new_e.message, e.message
|
|
196
|
+
assert_equal new_e.description, e.description
|
|
197
|
+
assert_equal new_e.backtrace, e.backtrace
|
|
198
|
+
end
|
|
199
|
+
|
|
200
|
+
def sample_method_for_sse
|
|
201
|
+
sample_method_for_sse
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
def test_system_stack_error
|
|
205
|
+
sample_method_for_sse
|
|
206
|
+
rescue SystemStackError => e
|
|
207
|
+
new_e = StandardError.new(e)
|
|
208
|
+
assert_equal new_e.backtrace, e.backtrace
|
|
209
|
+
end
|
|
181
210
|
end
|
|
182
211
|
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.12
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- buzz jung
|
|
8
|
-
autorequire:
|
|
8
|
+
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2022-
|
|
11
|
+
date: 2022-07-05 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: i18n
|
|
@@ -169,7 +169,7 @@ homepage: http://github.com/frograms/coaster
|
|
|
169
169
|
licenses:
|
|
170
170
|
- MIT
|
|
171
171
|
metadata: {}
|
|
172
|
-
post_install_message:
|
|
172
|
+
post_install_message:
|
|
173
173
|
rdoc_options: []
|
|
174
174
|
require_paths:
|
|
175
175
|
- lib
|
|
@@ -184,14 +184,14 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
184
184
|
- !ruby/object:Gem::Version
|
|
185
185
|
version: '0'
|
|
186
186
|
requirements: []
|
|
187
|
-
rubygems_version: 3.
|
|
188
|
-
signing_key:
|
|
187
|
+
rubygems_version: 3.3.7
|
|
188
|
+
signing_key:
|
|
189
189
|
specification_version: 4
|
|
190
190
|
summary: A little convenient feature for standard library
|
|
191
191
|
test_files:
|
|
192
192
|
- test/locales/en.yml
|
|
193
|
-
- test/test_standard_error.rb
|
|
194
|
-
- test/test_month.rb
|
|
195
193
|
- test/test_backtrace.rb
|
|
196
194
|
- test/test_helper.rb
|
|
195
|
+
- test/test_month.rb
|
|
197
196
|
- test/test_object_translation.rb
|
|
197
|
+
- test/test_standard_error.rb
|