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 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.