coaster 1.2.2 → 1.3.0
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 +11 -3
- data/lib/coaster/core_ext/standard_error/raven.rb +0 -13
- data/lib/coaster/version.rb +1 -1
- data/test/test_standard_error.rb +56 -37
- metadata +2 -58
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: aeeb91379c4231e8622891bfbfee5c93c202e96706bfa7d569b4bcea3e19d696
|
4
|
+
data.tar.gz: 124f01130e4fadf67e9e28c134e409986f8d1186e324f1b93e35fdf040a09652
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fe9c0490709aa11a3c96816294702dbebd982b7304af0633f319612035f4be627f030a928749506d454fd2806c485b6e440c37c0895dae8ec2633a780a66f4dd
|
7
|
+
data.tar.gz: 5a7de756347f74c4ece3dad9b36a987d44715b29cca55ded06d2a1bdfb0b38f4e16c654a4d9c2db3284c4cf76ab629afcbfa3bc33f373eeb21fc52db8008d6e0
|
@@ -62,19 +62,18 @@ class StandardError
|
|
62
62
|
@tags = hash.delete(:tags) || hash.delete(:tag)
|
63
63
|
@level = hash.delete(:level) || hash.delete(:severity) || @level
|
64
64
|
@tkey = hash.delete(:tkey)
|
65
|
-
msg = cause.message if msg.nil? && cause
|
66
65
|
@attributes.merge!(hash)
|
67
66
|
when String then
|
68
67
|
msg = message
|
69
68
|
when FalseClass, NilClass then
|
70
|
-
msg =
|
69
|
+
msg = nil
|
71
70
|
else
|
72
71
|
msg = message
|
73
72
|
end
|
74
73
|
|
75
74
|
@fingerprint = [] unless @fingerprint.is_a?(Array)
|
76
75
|
@tags = {} unless @tags.is_a?(Hash)
|
77
|
-
msg
|
76
|
+
msg = cause.message if msg.blank? && cause
|
78
77
|
super(msg)
|
79
78
|
end
|
80
79
|
|
@@ -143,6 +142,15 @@ class StandardError
|
|
143
142
|
attributes[:descriptions]
|
144
143
|
end
|
145
144
|
|
145
|
+
# https://github.com/getsentry/sentry-ruby/blob/fbbc7a51ed10684d0e8b7bd9d2a1b65a7351c9ef/lib/raven/event.rb#L162
|
146
|
+
# sentry message use `to_s` method
|
147
|
+
# https://ruby-doc.org/core-2.5.1/Exception.html#method-i-to_s
|
148
|
+
alias to_origin_s to_s
|
149
|
+
|
150
|
+
def to_s
|
151
|
+
"#{_translate}\n#{to_origin_s}"
|
152
|
+
end
|
153
|
+
|
146
154
|
def to_hash
|
147
155
|
hash = attributes.merge(
|
148
156
|
type: self.class.name, status: status,
|
@@ -66,17 +66,4 @@ class StandardError
|
|
66
66
|
capture(options)
|
67
67
|
just_logging(options)
|
68
68
|
end
|
69
|
-
|
70
|
-
# https://github.com/getsentry/sentry-ruby/blob/fbbc7a51ed10684d0e8b7bd9d2a1b65a7351c9ef/lib/raven/event.rb#L162
|
71
|
-
# sentry use `to_s` as a message
|
72
|
-
alias to_origin_s to_s
|
73
|
-
def message
|
74
|
-
to_origin_s
|
75
|
-
end
|
76
|
-
|
77
|
-
def to_s
|
78
|
-
str = super # https://ruby-doc.org/core-2.5.1/Exception.html#method-i-to_s
|
79
|
-
str = "#{user_message} / #{str}" if user_message.present?
|
80
|
-
str
|
81
|
-
end
|
82
69
|
end
|
data/lib/coaster/version.rb
CHANGED
data/test/test_standard_error.rb
CHANGED
@@ -21,74 +21,90 @@ module Coaster
|
|
21
21
|
end
|
22
22
|
|
23
23
|
def test_standard_messages
|
24
|
-
e = StandardError.new('
|
25
|
-
assert_equal
|
24
|
+
e = StandardError.new('developer message')
|
25
|
+
assert_equal "standard error translation\ndeveloper message", e.to_s
|
26
|
+
assert_equal "standard error translation\ndeveloper message", e.message
|
26
27
|
assert_nil e.description
|
27
28
|
assert_nil e.desc
|
28
29
|
assert_equal 'standard error translation', e._translate
|
29
30
|
assert_equal 'standard error translation', e.user_message
|
30
|
-
assert_equal 'standard error translation / asdf', e.to_s
|
31
31
|
assert_equal 'standard error title', e.title
|
32
|
-
e = StandardError.new(m: '
|
33
|
-
assert_equal
|
34
|
-
assert_equal
|
35
|
-
assert_equal '
|
36
|
-
assert_equal '
|
37
|
-
assert_equal '
|
32
|
+
e = StandardError.new(m: 'developer message', desc: 'user message')
|
33
|
+
assert_equal "user message\ndeveloper message", e.to_s
|
34
|
+
assert_equal "user message\ndeveloper message", e.message
|
35
|
+
assert_equal 'user message', e.description
|
36
|
+
assert_equal 'user message', e.desc
|
37
|
+
assert_equal 'user message', e._translate
|
38
|
+
assert_equal 'user message', e.user_message
|
38
39
|
assert_equal 'standard error title', e.title
|
39
|
-
assert_equal 'bar / foo', e.to_s
|
40
40
|
end
|
41
41
|
|
42
42
|
def test_no_translation_class
|
43
|
-
e = UntitledError.new('
|
44
|
-
assert_equal
|
43
|
+
e = UntitledError.new('developer message')
|
44
|
+
assert_equal "standard error translation\ndeveloper message", e.to_s
|
45
|
+
assert_equal "standard error translation\ndeveloper message", e.message
|
45
46
|
assert_nil e.description
|
46
47
|
assert_nil e.desc
|
47
48
|
assert_equal 'standard error translation', e._translate
|
48
49
|
assert_equal 'standard error translation', e.user_message
|
49
|
-
assert_equal 'standard error translation / asdf', e.to_s
|
50
50
|
assert_equal 'standard error title', e.title
|
51
|
-
e = UntitledError.new(m: '
|
52
|
-
assert_equal
|
53
|
-
assert_equal
|
54
|
-
assert_equal '
|
55
|
-
assert_equal '
|
56
|
-
assert_equal '
|
57
|
-
assert_equal '
|
51
|
+
e = UntitledError.new(m: 'developer message', desc: 'user message')
|
52
|
+
assert_equal "user message\ndeveloper message", e.to_s
|
53
|
+
assert_equal "user message\ndeveloper message", e.message
|
54
|
+
assert_equal 'user message', e.description
|
55
|
+
assert_equal 'user message', e.desc
|
56
|
+
assert_equal 'user message', e._translate
|
57
|
+
assert_equal 'user message', e.user_message
|
58
58
|
assert_equal 'standard error title', e.title
|
59
59
|
end
|
60
60
|
|
61
61
|
def test_with_translation_class
|
62
|
-
e = SampleError.new
|
63
|
-
assert_equal
|
62
|
+
e = SampleError.new
|
63
|
+
assert_equal "Test sample error\nCoaster::TestStandardError::SampleError", e.to_s
|
64
|
+
assert_equal "Test sample error\nCoaster::TestStandardError::SampleError", e.message
|
65
|
+
assert_nil e.description
|
66
|
+
assert_nil e.desc
|
67
|
+
assert_equal 'Test sample error', e._translate
|
68
|
+
assert_equal 'Test sample error', e.user_message
|
69
|
+
assert_equal 'Test this title', e.title
|
70
|
+
e = SampleError.new(beet: 'apple')
|
71
|
+
assert_equal "Test sample error\nCoaster::TestStandardError::SampleError", e.to_s
|
72
|
+
assert_equal "Test sample error\nCoaster::TestStandardError::SampleError", e.message
|
73
|
+
assert_nil e.description
|
74
|
+
assert_nil e.desc
|
75
|
+
assert_equal 'Test sample error', e._translate
|
76
|
+
assert_equal 'Test sample error', e.user_message
|
77
|
+
assert_equal 'Test this title', e.title
|
78
|
+
e = SampleError.new('developer message')
|
79
|
+
assert_equal "Test sample error\ndeveloper message", e.to_s
|
80
|
+
assert_equal "Test sample error\ndeveloper message", e.message
|
64
81
|
assert_nil e.description
|
65
82
|
assert_nil e.desc
|
66
83
|
assert_equal 'Test sample error', e._translate
|
67
84
|
assert_equal 'Test sample error', e.user_message
|
68
|
-
assert_equal 'Test sample error / asdf', e.to_s
|
69
85
|
assert_equal 'Test this title', e.title
|
70
|
-
e = SampleError.new(m: '
|
71
|
-
assert_equal
|
72
|
-
assert_equal
|
73
|
-
assert_equal '
|
74
|
-
assert_equal '
|
75
|
-
assert_equal '
|
76
|
-
assert_equal '
|
86
|
+
e = SampleError.new(m: 'developer message', desc: 'user message')
|
87
|
+
assert_equal "user message\ndeveloper message", e.to_s
|
88
|
+
assert_equal "user message\ndeveloper message", e.message
|
89
|
+
assert_equal 'user message', e.description
|
90
|
+
assert_equal 'user message', e.desc
|
91
|
+
assert_equal 'user message', e._translate
|
92
|
+
assert_equal 'user message', e.user_message
|
77
93
|
assert_equal 'Test this title', e.title
|
78
94
|
e = SampleError.new(tkey: 'sample.interpolation', value: 'blah')
|
79
|
-
assert_equal
|
95
|
+
assert_equal "Sample Interpolation blah\nCoaster::TestStandardError::SampleError", e.to_s
|
96
|
+
assert_equal "Sample Interpolation blah\nCoaster::TestStandardError::SampleError", e.message
|
80
97
|
assert_nil e.description
|
81
98
|
assert_nil e.desc
|
82
99
|
assert_equal 'Sample Interpolation blah', e._translate
|
83
100
|
assert_equal 'Sample Interpolation blah', e.user_message
|
84
|
-
assert_equal 'Sample Interpolation blah / Test sample error', e.to_s
|
85
101
|
assert_equal 'Test this title', e.title
|
86
102
|
end
|
87
103
|
|
88
104
|
def test_message
|
89
105
|
raise SampleError, {m: 'beer is proof'}
|
90
106
|
rescue => e
|
91
|
-
assert_equal
|
107
|
+
assert_equal "Test sample error\nbeer is proof", e.message
|
92
108
|
end
|
93
109
|
|
94
110
|
def test_attributes
|
@@ -108,12 +124,12 @@ module Coaster
|
|
108
124
|
assert_equal 'Coaster::TestStandardError::ExampleError', e.to_hash['type']
|
109
125
|
assert_equal 20, e.to_hash['status']
|
110
126
|
assert_equal 500, e.to_hash['http_status']
|
111
|
-
assert_equal
|
127
|
+
assert_equal "Test example error\nTest sample error\n#{SampleError.name}", e.to_hash['message']
|
112
128
|
assert_equal 'rams', e.to_hash['cause']['frog']
|
113
129
|
assert_equal 'Coaster::TestStandardError::SampleError', e.to_hash['cause']['type']
|
114
130
|
assert_equal 10, e.to_hash['cause']['status']
|
115
131
|
assert_equal 500, e.to_hash['cause']['http_status']
|
116
|
-
assert_equal
|
132
|
+
assert_equal "Test sample error\nCoaster::TestStandardError::SampleError", e.to_hash['cause']['message']
|
117
133
|
end
|
118
134
|
|
119
135
|
def test_cause_attributes
|
@@ -137,7 +153,9 @@ module Coaster
|
|
137
153
|
rescue => e
|
138
154
|
detail = <<-LOG
|
139
155
|
[Coaster::TestStandardError::ExampleError] status:20
|
140
|
-
MESSAGE: Test
|
156
|
+
MESSAGE: Test example error
|
157
|
+
Test sample error
|
158
|
+
Coaster::TestStandardError::SampleError
|
141
159
|
@fingerprint: []
|
142
160
|
@tags: {}
|
143
161
|
@level: \"error\"
|
@@ -146,6 +164,7 @@ module Coaster
|
|
146
164
|
@raven: {}
|
147
165
|
CAUSE: [Coaster::TestStandardError::SampleError] status:10
|
148
166
|
MESSAGE: Test sample error
|
167
|
+
Coaster::TestStandardError::SampleError
|
149
168
|
@fingerprint: []
|
150
169
|
@tags: {}
|
151
170
|
@level: \"error\"
|
@@ -194,7 +213,7 @@ LOG
|
|
194
213
|
begin
|
195
214
|
root_cause_sample3
|
196
215
|
rescue => e
|
197
|
-
assert_equal
|
216
|
+
assert_equal "standard error translation\na", e.root_cause.message
|
198
217
|
end
|
199
218
|
end
|
200
219
|
|
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.
|
4
|
+
version: 1.3.0
|
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-10-
|
11
|
+
date: 2020-10-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: i18n
|
@@ -80,62 +80,6 @@ dependencies:
|
|
80
80
|
- - ">="
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0'
|
83
|
-
- !ruby/object:Gem::Dependency
|
84
|
-
name: pry
|
85
|
-
requirement: !ruby/object:Gem::Requirement
|
86
|
-
requirements:
|
87
|
-
- - ">="
|
88
|
-
- !ruby/object:Gem::Version
|
89
|
-
version: '0'
|
90
|
-
type: :development
|
91
|
-
prerelease: false
|
92
|
-
version_requirements: !ruby/object:Gem::Requirement
|
93
|
-
requirements:
|
94
|
-
- - ">="
|
95
|
-
- !ruby/object:Gem::Version
|
96
|
-
version: '0'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: pry-stack_explorer
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
|
-
- !ruby/object:Gem::Dependency
|
112
|
-
name: pry-byebug
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
114
|
-
requirements:
|
115
|
-
- - ">="
|
116
|
-
- !ruby/object:Gem::Version
|
117
|
-
version: '0'
|
118
|
-
type: :development
|
119
|
-
prerelease: false
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
requirements:
|
122
|
-
- - ">="
|
123
|
-
- !ruby/object:Gem::Version
|
124
|
-
version: '0'
|
125
|
-
- !ruby/object:Gem::Dependency
|
126
|
-
name: pry-doc
|
127
|
-
requirement: !ruby/object:Gem::Requirement
|
128
|
-
requirements:
|
129
|
-
- - ">="
|
130
|
-
- !ruby/object:Gem::Version
|
131
|
-
version: '0'
|
132
|
-
type: :development
|
133
|
-
prerelease: false
|
134
|
-
version_requirements: !ruby/object:Gem::Requirement
|
135
|
-
requirements:
|
136
|
-
- - ">="
|
137
|
-
- !ruby/object:Gem::Version
|
138
|
-
version: '0'
|
139
83
|
- !ruby/object:Gem::Dependency
|
140
84
|
name: minitest
|
141
85
|
requirement: !ruby/object:Gem::Requirement
|