coaster 1.0.5 → 1.0.6
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 +24 -0
- data/lib/coaster/version.rb +1 -1
- data/test/test_helper.rb +5 -0
- data/test/test_standard_error.rb +10 -0
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cb23e4c7362906cc9877bde117d7f1027adc08726b718526dd16bfe967355553
|
4
|
+
data.tar.gz: f23ecb00881002158f99bc56daa261317f54b0620de3c6766b4fab93dc0d1e31
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b95bdef229ab03c481d31bf5f768ab9e1dec2a7d4d638d3bf1418da33e0665759030de2ef621fad94860b697373b8988dbe61b7955c479e7c9c1e3288c4ac656
|
7
|
+
data.tar.gz: 57982252eddf851fe0245a8b141aeaab2e3213219ef49688ef59004cf9478054a1849e016f80289b5f3e93e2ec84f8b022fb3e8991bfc602aa1401709eebf481
|
@@ -14,6 +14,24 @@ class StandardError
|
|
14
14
|
t = _translate('.title')
|
15
15
|
t.instance_variable_defined?(:@missing) ? nil : t
|
16
16
|
end
|
17
|
+
|
18
|
+
def before_logging(name, &block)
|
19
|
+
@before_logging_blocks ||= {}
|
20
|
+
@before_logging_blocks[name] = block
|
21
|
+
end
|
22
|
+
def before_logging_blocks
|
23
|
+
@before_logging_blocks ||= {}
|
24
|
+
superclass <= StandardError ? superclass.after_logging_blocks.merge(@before_logging_blocks) : @before_logging_blocks
|
25
|
+
end
|
26
|
+
|
27
|
+
def after_logging(name, &block)
|
28
|
+
@after_logging_blocks ||= {}
|
29
|
+
@after_logging_blocks[name] = block
|
30
|
+
end
|
31
|
+
def after_logging_blocks
|
32
|
+
@after_logging_blocks ||= {}
|
33
|
+
superclass <= StandardError ? superclass.after_logging_blocks.merge(@after_logging_blocks) : @after_logging_blocks
|
34
|
+
end
|
17
35
|
end
|
18
36
|
|
19
37
|
attr_accessor :tags, :level, :tkey, :fingerprint
|
@@ -65,6 +83,8 @@ class StandardError
|
|
65
83
|
|
66
84
|
def safe_message; message || '' end
|
67
85
|
def status; self.class.status end
|
86
|
+
def before_logging_blocks; self.class.before_logging_blocks end
|
87
|
+
def after_logging_blocks; self.class.after_logging_blocks end
|
68
88
|
def root_cause; cause.respond_to?(:root_cause) ? cause.root_cause : self end
|
69
89
|
|
70
90
|
def attributes
|
@@ -172,6 +192,8 @@ class StandardError
|
|
172
192
|
end
|
173
193
|
|
174
194
|
def logging(options = {})
|
195
|
+
before_logging_blocks.values.each { |blk| instance_exec &blk }
|
196
|
+
|
175
197
|
return unless report?
|
176
198
|
logger = nil
|
177
199
|
if defined?(Rails)
|
@@ -196,5 +218,7 @@ class StandardError
|
|
196
218
|
else
|
197
219
|
logger.error(msg)
|
198
220
|
end
|
221
|
+
|
222
|
+
after_logging_blocks.values.each { |blk| instance_exec &blk }
|
199
223
|
end
|
200
224
|
end
|
data/lib/coaster/version.rb
CHANGED
data/test/test_helper.rb
CHANGED
data/test/test_standard_error.rb
CHANGED
@@ -155,5 +155,15 @@ LOG
|
|
155
155
|
e.descriptions.merge!(a: 1)
|
156
156
|
assert_equal e.descriptions['a'], 1
|
157
157
|
end
|
158
|
+
|
159
|
+
class SampleErrorSub < SampleError; end
|
160
|
+
class SampleErrorSubSub < SampleErrorSub; end
|
161
|
+
SampleError.after_logging(:blah) { @blah = 101 }
|
162
|
+
def test_before_logging
|
163
|
+
e = SampleErrorSubSub.new(m: 'foo')
|
164
|
+
assert !e.after_logging_blocks[:blah].nil?
|
165
|
+
e.logging
|
166
|
+
assert_equal e.instance_variable_get(:@blah), 101
|
167
|
+
end
|
158
168
|
end
|
159
169
|
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.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- buzz jung
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-09-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -226,7 +226,7 @@ signing_key:
|
|
226
226
|
specification_version: 4
|
227
227
|
summary: A little convenient feature for standard library
|
228
228
|
test_files:
|
229
|
-
- test/test_helper.rb
|
230
|
-
- test/test_standard_error.rb
|
231
229
|
- test/locales/en.yml
|
230
|
+
- test/test_standard_error.rb
|
231
|
+
- test/test_helper.rb
|
232
232
|
- test/test_object_translation.rb
|