adama 0.1.3 → 0.1.4

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
  SHA1:
3
- metadata.gz: 123efa8bc95432a3fe1a7082cc8e792242ea9a2b
4
- data.tar.gz: 1500b122b021effefa95c72460f277ce7957b53e
3
+ metadata.gz: 231eccdac40bdcb313b25f45d9469321fcb38175
4
+ data.tar.gz: 12d424db073534825bbfc568a31a8f197231e42b
5
5
  SHA512:
6
- metadata.gz: 4cb8c72a3968d394e9476d92b3cba1732ce5e11978cc1274cc33e29084242f690650457b56ab6f80d82d7fb52ffb28c9cf944c3aa187e67e8cff2a51edffaf0a
7
- data.tar.gz: 47af6ddfd95c7ce0cc5d013f845be70176d3b4bdccbae388e2c03b65c9995e7d6224ad64f620f61756a3e4e283a49f2f63fcb7c0564351056282bf0de006c4b1
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 error: error, command: self
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
@@ -1,3 +1,3 @@
1
1
  module Adama
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.4"
3
3
  end
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.3
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-08-08 00:00:00.000000000 Z
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.5.1
113
+ rubygems_version: 2.6.11
114
114
  signing_key:
115
115
  specification_version: 4
116
116
  summary: Commander of the fleet.