human_error 1.4.0 → 1.5.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/human_error/error.rb +20 -5
- data/lib/human_error/version.rb +1 -1
- data/spec/lib/human_error/error_spec.rb +15 -1
- metadata +4 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0893133a37cc53ee88bd4707062f00d421195351
|
4
|
+
data.tar.gz: dd2a17883a04d8ac05602d2917164820c58e7ca8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f8567ff0577847aa5c5a53b5b1c70b256d1d446ea000c96c0adbd84165569479cc0e016ff428e62a23c89b2f8a38dcee8a98e24a45b11498a908c1272959fc92
|
7
|
+
data.tar.gz: f9a5302081b1a47efc8dba8f42b61a9572dfd621270987545b6bcf09851f6060f9aff4d9129b7338f03b902880bda687d88453e2bc7d5c15f771e6913ffa9974
|
data/lib/human_error/error.rb
CHANGED
@@ -5,11 +5,20 @@ require 'human_error/knowledgebase_id_directory'
|
|
5
5
|
|
6
6
|
class HumanError
|
7
7
|
module Error
|
8
|
+
module ClassMethods
|
9
|
+
def wrap(other)
|
10
|
+
wrapped_error = new message: "#{other.class.name}: #{other.message}"
|
11
|
+
wrapped_error.set_backtrace other.backtrace
|
12
|
+
wrapped_error
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
8
16
|
attr_accessor :api_version,
|
9
17
|
:api_error_documentation_url,
|
10
18
|
:knowledgebase_url,
|
11
19
|
:knowledgebase_article_id,
|
12
|
-
:code
|
20
|
+
:code,
|
21
|
+
:message
|
13
22
|
|
14
23
|
def initialize(**args)
|
15
24
|
self.api_version = configuration.api_version
|
@@ -41,10 +50,16 @@ module Error
|
|
41
50
|
JSON.dump(as_json)
|
42
51
|
end
|
43
52
|
|
44
|
-
def
|
45
|
-
|
46
|
-
|
47
|
-
|
53
|
+
def message
|
54
|
+
@message || developer_message
|
55
|
+
end
|
56
|
+
|
57
|
+
def developer_message
|
58
|
+
raise RuntimeError, 'This method must be implemented in a subclass'
|
59
|
+
end
|
60
|
+
|
61
|
+
def self.included(base)
|
62
|
+
base.extend ClassMethods
|
48
63
|
end
|
49
64
|
|
50
65
|
private
|
data/lib/human_error/version.rb
CHANGED
@@ -2,7 +2,7 @@ require 'rspectacular'
|
|
2
2
|
require 'human_error/error'
|
3
3
|
|
4
4
|
class CustomError < RuntimeError
|
5
|
-
|
5
|
+
include HumanError::Error
|
6
6
|
end
|
7
7
|
|
8
8
|
class HumanError
|
@@ -28,5 +28,19 @@ describe Error do
|
|
28
28
|
|
29
29
|
expect(wrapped_error.backtrace).to eql %w{foo bar baz}
|
30
30
|
end
|
31
|
+
|
32
|
+
it 'can have its message explicitly set when it is generated' do
|
33
|
+
error = CustomError.new(message: 'My Message')
|
34
|
+
|
35
|
+
expect(error.message).to eql 'My Message'
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'can have its message explicitly set when it is generated' do
|
39
|
+
error = CustomError.new
|
40
|
+
allow(error).to receive(:developer_message).
|
41
|
+
and_return('My Developer Message')
|
42
|
+
|
43
|
+
expect(error.message).to eql 'My Developer Message'
|
44
|
+
end
|
31
45
|
end
|
32
46
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: human_error
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jfelchner
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-05-
|
11
|
+
date: 2014-05-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: '0.
|
33
|
+
version: '0.37'
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version: '0.
|
40
|
+
version: '0.37'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: codeclimate-test-reporter
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -120,4 +120,3 @@ test_files:
|
|
120
120
|
- spec/lib/human_error/errors/crud_errors/resource_persistence_error_spec.rb
|
121
121
|
- spec/lib/human_error/errors/request_error_spec.rb
|
122
122
|
- spec/lib/human_error_spec.rb
|
123
|
-
has_rdoc:
|