adama 0.1.3 → 0.1.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/adama/command.rb +6 -1
- data/lib/adama/errors.rb +2 -1
- data/lib/adama/invoker.rb +4 -2
- data/lib/adama/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 231eccdac40bdcb313b25f45d9469321fcb38175
|
4
|
+
data.tar.gz: 12d424db073534825bbfc568a31a8f197231e42b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a29a64eb30a328191db5b99f1448fb6b92a290259380e6769bfe7a7adf49129cc8ee9a5ace4ba6f9ddd29c941fec9b27defef6170b5cdf3ed4c014b4bb7d66f4
|
7
|
+
data.tar.gz: '02790d2adefc53c5cfcf2bd7eaf1e3dfec95a680b84cd0a865352e3e69a85e5bf1f6f92c08232605e9aff350b78d32b78b496fc8ced0b5ec0444208073fa43e1'
|
data/lib/adama/command.rb
CHANGED
@@ -36,9 +36,14 @@ module Adama
|
|
36
36
|
# Internal instance method. Called by both the call class method, and by
|
37
37
|
# the call method in the invoker. If it fails it raises a CommandError.
|
38
38
|
def run
|
39
|
+
command_caller = caller
|
39
40
|
call
|
40
41
|
rescue => error
|
41
|
-
raise Errors::CommandError.new
|
42
|
+
raise Errors::CommandError.new(
|
43
|
+
error: error,
|
44
|
+
command: self,
|
45
|
+
backtrace: error.backtrace + ['Adama Command backtrace:'] + command_caller
|
46
|
+
)
|
42
47
|
end
|
43
48
|
|
44
49
|
# Public instance method. Override this in classes this module is
|
data/lib/adama/errors.rb
CHANGED
@@ -3,10 +3,11 @@ module Adama
|
|
3
3
|
class BaseError < StandardError
|
4
4
|
attr_reader :error, :command, :invoker
|
5
5
|
|
6
|
-
def initialize(error:, command:, invoker: nil)
|
6
|
+
def initialize(error:, command:, invoker: nil, backtrace: nil)
|
7
7
|
@error = error
|
8
8
|
@command = command
|
9
9
|
@invoker = invoker
|
10
|
+
set_backtrace backtrace if backtrace
|
10
11
|
end
|
11
12
|
|
12
13
|
def to_s
|
data/lib/adama/invoker.rb
CHANGED
@@ -69,13 +69,15 @@ module Adama
|
|
69
69
|
# invoker "call" instance method, we won't have access to error's
|
70
70
|
# command so need to test for it's existence.
|
71
71
|
def run
|
72
|
+
command_caller = caller
|
72
73
|
call
|
73
74
|
rescue => error
|
74
75
|
rollback
|
75
76
|
raise Errors::InvokerError.new(
|
76
77
|
error: error,
|
77
78
|
command: error.respond_to?(:command) ? error.command : nil,
|
78
|
-
invoker: self
|
79
|
+
invoker: self,
|
80
|
+
backtrace: error.backtrace + ['Adama Invoker backtrace:'] + command_caller
|
79
81
|
)
|
80
82
|
end
|
81
83
|
|
@@ -93,7 +95,7 @@ module Adama
|
|
93
95
|
begin
|
94
96
|
command.rollback
|
95
97
|
rescue => error
|
96
|
-
raise Errors::InvokerRollbackError.new(error: error, command: command, invoker: self)
|
98
|
+
raise Errors::InvokerRollbackError.new(error: error, command: command, invoker: self, backtrace: error.backtrace)
|
97
99
|
end
|
98
100
|
end
|
99
101
|
end
|
data/lib/adama/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: adama
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- dradford
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-
|
11
|
+
date: 2017-10-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -110,7 +110,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
110
110
|
version: '0'
|
111
111
|
requirements: []
|
112
112
|
rubyforge_project:
|
113
|
-
rubygems_version: 2.
|
113
|
+
rubygems_version: 2.6.11
|
114
114
|
signing_key:
|
115
115
|
specification_version: 4
|
116
116
|
summary: Commander of the fleet.
|