eh 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -99,11 +99,11 @@ retry! - Execute block, re-raise exceptions, retry
99
99
 
100
100
  Exception filters:
101
101
 
102
- When :exception_filter is provided to retry!(), only the exceptions in the filter are retried. If retry fails, all exceptions are re-raised.
102
+ When :exception_filter is provided to retry!(), only the exceptions in the filter are retried. If retry fails, *all* exceptions are re-raised.
103
103
 
104
- When :exception_filter is provided to retry(), only the exceptions in the filter are retried. If retry fails. Exceptions are not re-raised.
104
+ When :exception_filter is provided to retry(), only the exceptions in the filter are retried. If retry fails, exceptions are not re-raised.
105
105
 
106
- When :exception_filter is provided to run!(), only the exceptions in the filter are logged, if a logger is provided. All exceptions are re-raised.
106
+ When :exception_filter is provided to run!(), only the exceptions in the filter are logged, if a logger is provided. Filtered exceptions are *not* re-raised.
107
107
 
108
108
  When :exception_filter is provided to run(), only the exceptions in the filter are logged, if a logger is provided. Exceptions are not re-raised.
109
109
 
data/backlog ADDED
@@ -0,0 +1,78 @@
1
+ class Main
2
+ def initialize
3
+ EH::run!(:message=> "constructor should not fail!", :logger => MyLogger.new, :handlers => ImportantErrorHandler.new) do
4
+ some_bugg_initialzation
5
+ end
6
+ end
7
+ end
8
+
9
+
10
+ class TestMe
11
+ def something
12
+ EH::push(:context => "super important")
13
+
14
+ EH::retry!() do
15
+ some_buggy_code
16
+ end
17
+
18
+ EH::pop(:context)
19
+ end
20
+ end
21
+
22
+ def easy_to_use
23
+ EH::in_order_to({:do => "something",
24
+ :given_that => "some state",
25
+ :note => "i am doing X with #{y}",
26
+ :error_handler => {:log_to => MyLogger.bnew, :mail_to => "helpme.com"}}) do
27
+ code_a
28
+ code_b
29
+ code_c
30
+ end
31
+ end
32
+
33
+ class MySystemApiBoundary
34
+ def talk_to_another_system(system, message)
35
+ pkg = EH::package_context
36
+ message["in_reference_to"] = pkg
37
+ system.api_method(message)
38
+ end
39
+ end
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+ ... then package across system boundaries
48
+
49
+ class ContextDic..
50
+
51
+ module EH
52
+ class EH
53
+ def self.handle(context, e, env)
54
+ contexts[context].handle(e, env, context_stack)
55
+ end
56
+
57
+ def self.run(context) do
58
+ ?? << context
59
+
60
+ yield
61
+
62
+ >>
63
+ end
64
+ end
65
+ end
66
+
67
+
68
+ complex_reg_task_abc do
69
+ myabc
70
+ end
71
+
72
+
73
+
74
+
75
+ EH::in_order_to({:do => "fullfil domain order",
76
+ :given_that => "account deos not exist" ... ).remember("i am creationg an account using #{blah}").and_if_something_goes_wrong(:mailmeat => "a@me.com") do
77
+
78
+ end
@@ -78,7 +78,7 @@ module ErrorHandler
78
78
  EH::handle(opts[:handlers], e, msg) if not opts[:handlers].nil?
79
79
 
80
80
  raise e if opts.nil? == false and opts[:exception_filter] and not opts[:exception_filter].include? e.class
81
- raise e
81
+ raise e if opts.nil? == true or opts[:exception_filter].nil? == true or opts[:exception_filter] == []
82
82
  end
83
83
 
84
84
  def self.run(options, &block)
@@ -1,3 +1,3 @@
1
1
  module ErrorHandler
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
@@ -97,7 +97,7 @@ describe ErrorHandler do
97
97
  end
98
98
 
99
99
  describe "run!" do
100
- it "should re-raise all exceptions if asked to" do
100
+ it "should re-raise all exceptions if asked to (no options provided)" do
101
101
  begin
102
102
  exception = nil
103
103
  EH::run!(nil) do
@@ -109,6 +109,30 @@ describe ErrorHandler do
109
109
  exception.class.should == RuntimeError
110
110
  end
111
111
 
112
+ it "should re-raise all exceptions if asked to (no exception filter provided)" do
113
+ begin
114
+ exception = nil
115
+ EH::run!(:exception_filer => nil) do
116
+ raise RuntimeError
117
+ end
118
+ rescue => e
119
+ exception = e
120
+ end
121
+ exception.class.should == RuntimeError
122
+ end
123
+
124
+ it "should re-raise all exceptions if asked to (empty exception filter provided)" do
125
+ begin
126
+ exception = nil
127
+ EH::run!(:exception_filter => []) do
128
+ raise RuntimeError
129
+ end
130
+ rescue => e
131
+ exception = e
132
+ end
133
+ exception.class.should == RuntimeError
134
+ end
135
+
112
136
  it "should not retry" do
113
137
  begin
114
138
  count = 0
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eh
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 19
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 5
10
- version: 0.0.5
9
+ - 6
10
+ version: 0.0.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Ernst van Graan, Wynand van Dyk
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2013-03-14 00:00:00 Z
18
+ date: 2013-03-19 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
21
  name: bundler
@@ -90,6 +90,7 @@ files:
90
90
  - LICENSE.txt
91
91
  - README.md
92
92
  - Rakefile
93
+ - backlog
93
94
  - eh.gemspec
94
95
  - lib/eh/eh.rb
95
96
  - lib/eh/version.rb