resque_jobs_tree 0.2.0 → 0.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.
@@ -31,6 +31,7 @@ class ResqueJobsTree::Job
31
31
  end
32
32
  else
33
33
  ResqueJobsTree::Storage.failure_cleanup node, resources, global: true
34
+ node.tree.on_failure.call(resources) if node.tree.on_failure.kind_of?(Proc)
34
35
  raise exception
35
36
  end
36
37
  end
@@ -14,6 +14,10 @@ class ResqueJobsTree::Tree
14
14
  end
15
15
  end
16
16
 
17
+ def on_failure &block
18
+ @on_failure ||= block
19
+ end
20
+
17
21
  def launch *resources
18
22
  ResqueJobsTree::Storage.track_launch self, resources do
19
23
  @root.launch resources
@@ -1,3 +1,3 @@
1
1
  module ResqueJobsTree
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/test/tree_test.rb CHANGED
@@ -46,4 +46,24 @@ class TreeTest < MiniTest::Unit::TestCase
46
46
  end
47
47
  end
48
48
 
49
+ def test_on_failure
50
+ create_tree_with_on_failure_hook
51
+ assert_raises RuntimeError, 'called form on_failure block' do
52
+ @tree.launch
53
+ end
54
+ end
55
+
56
+ private
57
+
58
+ def create_tree_with_on_failure_hook
59
+ @tree = ResqueJobsTree::Factory.create :tree1 do
60
+ root :job1 do
61
+ perform { raise 'expected failure' }
62
+ end
63
+ on_failure do
64
+ raise 'called form on_failure block'
65
+ end
66
+ end
67
+ end
68
+
49
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: resque_jobs_tree
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: