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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2b275d9ddd61f4631acadb1fee4ebfd3fb1d0bb0856621b732b431721940b460
4
- data.tar.gz: f10dfe4a4583ee7ca7594ee514f384d428b3795ff421b420a86b70a89319389e
3
+ metadata.gz: aeeb91379c4231e8622891bfbfee5c93c202e96706bfa7d569b4bcea3e19d696
4
+ data.tar.gz: 124f01130e4fadf67e9e28c134e409986f8d1186e324f1b93e35fdf040a09652
5
5
  SHA512:
6
- metadata.gz: 57169b9c338d9499983fbe438d5739d2b82539652f448ed3e703e9c94570fb6f719f16aa628ea7b8928f1db475ed1e3d490acad9b8246ba43792a563cc9fa3a9
7
- data.tar.gz: 7dcb832e9d9e855973a6743ec05c12a25fcd78d58806d5b7b2e1c8f85faf6896f397ac82ed008a600dc8d273597593c3ff651cc7f13c0b3637a0c43a07c52056
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 ||= self.class._translate
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
@@ -1,3 +1,3 @@
1
1
  module Coaster
2
- VERSION = '1.2.2'
2
+ VERSION = '1.3.0'
3
3
  end
@@ -21,74 +21,90 @@ module Coaster
21
21
  end
22
22
 
23
23
  def test_standard_messages
24
- e = StandardError.new('asdf')
25
- assert_equal 'asdf', e.message
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: 'foo', desc: 'bar')
33
- assert_equal 'foo', e.message
34
- assert_equal 'bar', e.description
35
- assert_equal 'bar', e.desc
36
- assert_equal 'bar', e._translate
37
- assert_equal 'bar', e.user_message
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('asdf')
44
- assert_equal 'asdf', e.message
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: 'foo', desc: 'bar')
52
- assert_equal 'foo', e.message
53
- assert_equal 'bar', e.description
54
- assert_equal 'bar', e.desc
55
- assert_equal 'bar', e._translate
56
- assert_equal 'bar', e.user_message
57
- assert_equal 'bar / foo', e.to_s
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('asdf')
63
- assert_equal 'asdf', e.message
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: 'foo', desc: 'bar')
71
- assert_equal 'foo', e.message
72
- assert_equal 'bar', e.description
73
- assert_equal 'bar', e.desc
74
- assert_equal 'bar', e._translate
75
- assert_equal 'bar', e.user_message
76
- assert_equal 'bar / foo', e.to_s
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 'Test sample error', e.message
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 'beer is proof', e.message
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 'Test sample error', e.to_hash['message']
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 'Test sample error', e.to_hash['cause']['message']
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 sample error
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 'a', e.root_cause.message
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.2.2
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-13 00:00:00.000000000 Z
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