execute_with_rescue 0.0.1 → 0.0.2
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 +4 -4
- data/.gitignore +1 -0
- data/.rubocop.yml +860 -0
- data/.travis.yml +18 -6
- data/Appraisals +15 -6
- data/CHANGELOG.md +38 -3
- data/Gemfile +2 -2
- data/README.md +7 -11
- data/Rakefile +9 -7
- data/execute_with_rescue.gemspec +17 -12
- data/gemfiles/rails_4_0.gemfile +2 -2
- data/gemfiles/rails_4_1.gemfile +2 -2
- data/gemfiles/{rails_3_2.gemfile → rails_4_2.gemfile} +2 -2
- data/gemfiles/rails_5_0.gemfile +7 -0
- data/lib/execute_with_rescue/mixins/core.rb +46 -34
- data/lib/execute_with_rescue/version.rb +1 -1
- data/lib/execute_with_rescue.rb +3 -3
- data/spec/core_spec.rb +73 -67
- data/spec/fixtures/test_service_classes.rb +9 -7
- data/spec/spec_helper.rb +7 -6
- metadata +68 -38
data/spec/core_spec.rb
CHANGED
|
@@ -1,50 +1,50 @@
|
|
|
1
|
-
require
|
|
1
|
+
require "spec_helper"
|
|
2
2
|
|
|
3
3
|
describe ExecuteWithRescue::Mixins::Core do
|
|
4
|
-
describe
|
|
4
|
+
describe "#execute_with_rescue" do
|
|
5
5
|
let!(:service_instance) { service_class.new }
|
|
6
6
|
def service_call
|
|
7
7
|
service_instance.call
|
|
8
8
|
end
|
|
9
9
|
|
|
10
|
-
context
|
|
10
|
+
context "without a block" do
|
|
11
11
|
let!(:service_class) { TestServiceWithoutBlockInExecute }
|
|
12
12
|
|
|
13
13
|
specify do
|
|
14
|
-
expect { service_call }
|
|
15
|
-
|
|
14
|
+
expect { service_call }.
|
|
15
|
+
to raise_error(LocalJumpError)
|
|
16
16
|
end
|
|
17
17
|
end
|
|
18
18
|
|
|
19
|
-
context
|
|
19
|
+
context "with private method call" do
|
|
20
20
|
let!(:service_class) { TestServiceWithPrivateMethodCallInExecute }
|
|
21
21
|
|
|
22
22
|
specify do
|
|
23
|
-
expect { service_call }
|
|
24
|
-
|
|
23
|
+
expect { service_call }.
|
|
24
|
+
to_not raise_error
|
|
25
25
|
end
|
|
26
26
|
end
|
|
27
27
|
|
|
28
|
-
context
|
|
28
|
+
context "without calling rescue_from" do
|
|
29
29
|
let!(:service_class) { TestServiceWithError }
|
|
30
30
|
|
|
31
31
|
specify do
|
|
32
|
-
expect { service_call }
|
|
33
|
-
|
|
32
|
+
expect { service_call }.
|
|
33
|
+
to raise_error(StandardError)
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
context
|
|
37
|
+
context "with calling rescue_from" do
|
|
38
38
|
let!(:service_class) { TestServiceWithRescue }
|
|
39
39
|
|
|
40
40
|
specify do
|
|
41
|
-
expect { service_call }
|
|
42
|
-
|
|
41
|
+
expect { service_call }.
|
|
42
|
+
to raise_error(TestServiceWithRescue::CustomError)
|
|
43
43
|
end
|
|
44
44
|
|
|
45
|
-
context
|
|
46
|
-
context
|
|
47
|
-
describe
|
|
45
|
+
context "with single hook" do
|
|
46
|
+
context "with nothing" do
|
|
47
|
+
describe "in before hook" do
|
|
48
48
|
specify do
|
|
49
49
|
expect do
|
|
50
50
|
TestService.class_eval do
|
|
@@ -53,7 +53,7 @@ describe ExecuteWithRescue::Mixins::Core do
|
|
|
53
53
|
end.to raise_error(ArgumentError)
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
|
-
describe
|
|
56
|
+
describe "in after hook" do
|
|
57
57
|
specify do
|
|
58
58
|
expect do
|
|
59
59
|
TestService.class_eval do
|
|
@@ -64,7 +64,7 @@ describe ExecuteWithRescue::Mixins::Core do
|
|
|
64
64
|
end
|
|
65
65
|
end
|
|
66
66
|
|
|
67
|
-
context
|
|
67
|
+
context "with symbol of a non-existing method name" do
|
|
68
68
|
let!(:temp_class) do
|
|
69
69
|
Class.new(TestServiceWithPrivateMethodCallInExecute).tap do |klass|
|
|
70
70
|
klass.class_eval do
|
|
@@ -75,71 +75,77 @@ describe ExecuteWithRescue::Mixins::Core do
|
|
|
75
75
|
let!(:service_class) { temp_class }
|
|
76
76
|
|
|
77
77
|
specify do
|
|
78
|
-
expect { service_call }
|
|
79
|
-
|
|
78
|
+
expect { service_call }.
|
|
79
|
+
to raise_error(ExecuteWithRescue::Errors::NoHookMethod)
|
|
80
80
|
end
|
|
81
81
|
end
|
|
82
82
|
|
|
83
|
-
context
|
|
84
|
-
context
|
|
83
|
+
context "with symbol of an existing method name" do
|
|
84
|
+
context "with before hook" do
|
|
85
85
|
let!(:service_class) { TestServiceWithSymbolBeforeHook }
|
|
86
86
|
|
|
87
87
|
specify do
|
|
88
|
-
expect { service_call }
|
|
89
|
-
|
|
88
|
+
expect { service_call }.
|
|
89
|
+
to change { service_instance.hook_exec_count }.
|
|
90
|
+
from(0).to(1)
|
|
90
91
|
end
|
|
91
92
|
end
|
|
92
93
|
|
|
93
|
-
context
|
|
94
|
+
context "with after hook" do
|
|
94
95
|
let!(:service_class) { TestServiceWithSymbolAfterHook }
|
|
95
96
|
|
|
96
97
|
specify do
|
|
97
|
-
expect { service_call }
|
|
98
|
-
|
|
98
|
+
expect { service_call }.
|
|
99
|
+
to change { service_instance.hook_exec_count }.
|
|
100
|
+
from(0).to(1)
|
|
99
101
|
end
|
|
100
102
|
end
|
|
101
103
|
|
|
102
|
-
context
|
|
104
|
+
context "with before & after hook" do
|
|
103
105
|
let!(:service_class) { TestServiceWithSymbolBeforeAfterHook }
|
|
104
106
|
|
|
105
107
|
specify do
|
|
106
|
-
expect { service_call }
|
|
107
|
-
|
|
108
|
+
expect { service_call }.
|
|
109
|
+
to change { service_instance.hook_exec_count }.
|
|
110
|
+
from(0).to(2)
|
|
108
111
|
end
|
|
109
112
|
end
|
|
110
113
|
end
|
|
111
114
|
|
|
112
|
-
context
|
|
113
|
-
context
|
|
115
|
+
context "with block" do
|
|
116
|
+
context "with before hook" do
|
|
114
117
|
let!(:service_class) { TestServiceWithBlockBeforeHook }
|
|
115
118
|
|
|
116
119
|
specify do
|
|
117
|
-
expect { service_call }
|
|
118
|
-
|
|
120
|
+
expect { service_call }.
|
|
121
|
+
to change { service_instance.hook_exec_count }.
|
|
122
|
+
from(0).to(1)
|
|
119
123
|
end
|
|
120
124
|
end
|
|
121
125
|
|
|
122
|
-
context
|
|
126
|
+
context "with after hook" do
|
|
123
127
|
let!(:service_class) { TestServiceWithBlockAfterHook }
|
|
124
128
|
|
|
125
129
|
specify do
|
|
126
|
-
expect { service_call }
|
|
127
|
-
|
|
130
|
+
expect { service_call }.
|
|
131
|
+
to change { service_instance.hook_exec_count }.
|
|
132
|
+
from(0).to(1)
|
|
128
133
|
end
|
|
129
134
|
end
|
|
130
135
|
|
|
131
|
-
context
|
|
136
|
+
context "with before & after hook" do
|
|
132
137
|
let!(:service_class) { TestServiceWithBlockBeforeAfterHook }
|
|
133
138
|
|
|
134
139
|
specify do
|
|
135
|
-
expect { service_call }
|
|
136
|
-
|
|
140
|
+
expect { service_call }.
|
|
141
|
+
to change { service_instance.hook_exec_count }.
|
|
142
|
+
from(0).to(2)
|
|
137
143
|
end
|
|
138
144
|
end
|
|
139
145
|
end
|
|
140
146
|
|
|
141
|
-
context
|
|
142
|
-
let!(:temp_class){ Class.new(TestService) }
|
|
147
|
+
context "with other type of things" do
|
|
148
|
+
let!(:temp_class) { Class.new(TestService) }
|
|
143
149
|
|
|
144
150
|
specify do
|
|
145
151
|
expect do
|
|
@@ -149,64 +155,64 @@ describe ExecuteWithRescue::Mixins::Core do
|
|
|
149
155
|
end
|
|
150
156
|
end
|
|
151
157
|
|
|
152
|
-
context
|
|
153
|
-
context
|
|
158
|
+
context "with multiple hooks" do
|
|
159
|
+
context "without inheritance" do
|
|
154
160
|
let!(:service_class) { TestServiceWithManySymbolBeforeHook }
|
|
155
161
|
|
|
156
162
|
specify do
|
|
157
|
-
expect { service_call }
|
|
158
|
-
|
|
163
|
+
expect { service_call }.
|
|
164
|
+
to change { service_instance.hook_exec_count }.
|
|
165
|
+
from(0).to(3)
|
|
159
166
|
end
|
|
160
167
|
end
|
|
161
|
-
context
|
|
168
|
+
context "with inheritance" do
|
|
162
169
|
let!(:service_class) { TestServiceWithManySymbolBeforeHookInherited }
|
|
163
170
|
|
|
164
171
|
specify do
|
|
165
|
-
expect { service_call }
|
|
166
|
-
|
|
172
|
+
expect { service_call }.
|
|
173
|
+
to change { service_instance.hook_exec_count }.
|
|
174
|
+
from(0).to(5)
|
|
167
175
|
end
|
|
168
176
|
end
|
|
169
177
|
end
|
|
170
178
|
|
|
171
|
-
context
|
|
179
|
+
context "with tampered internal class attribuite" do
|
|
172
180
|
let!(:temp_class) do
|
|
173
181
|
Class.new(TestServiceWithPrivateMethodCallInExecute).tap do |klass|
|
|
174
182
|
klass.class_eval do
|
|
175
|
-
_execute_with_rescue_before_hooks <<
|
|
183
|
+
_execute_with_rescue_before_hooks << {}
|
|
176
184
|
end
|
|
177
185
|
end
|
|
178
186
|
end
|
|
179
187
|
let!(:service_class) { temp_class }
|
|
180
188
|
|
|
181
|
-
specify
|
|
182
|
-
expect { service_call }
|
|
183
|
-
|
|
189
|
+
specify "after hooks run in reverse order of the define order" do
|
|
190
|
+
expect { service_call }.
|
|
191
|
+
to raise_error(ExecuteWithRescue::Errors::UnsupportedHookValue)
|
|
184
192
|
end
|
|
185
193
|
end
|
|
186
194
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
describe 'after hook execution' do
|
|
190
|
-
describe 'after an error is raised in block' do
|
|
191
|
-
|
|
195
|
+
describe "after hook execution" do
|
|
196
|
+
describe "after an error is raised in block" do
|
|
192
197
|
let!(:service_class) { TestServiceWithErrorAndAfterHook }
|
|
193
198
|
|
|
194
|
-
specify
|
|
199
|
+
specify "after hooks are run after exception is raised" do
|
|
195
200
|
expect(service_instance.hook_exec_count).to eq(0)
|
|
196
201
|
|
|
197
|
-
expect { service_call }
|
|
198
|
-
|
|
202
|
+
expect { service_call }.
|
|
203
|
+
to raise_error(RuntimeError)
|
|
199
204
|
|
|
200
205
|
expect(service_instance.hook_exec_count).to eq(1)
|
|
201
206
|
end
|
|
202
207
|
end
|
|
203
208
|
|
|
204
|
-
describe
|
|
209
|
+
describe "order" do
|
|
205
210
|
let!(:service_class) { TestServiceWithManyAfterHooks }
|
|
206
211
|
|
|
207
|
-
specify
|
|
208
|
-
expect { service_call }
|
|
209
|
-
|
|
212
|
+
specify "after hooks run in reverse order of the define order" do
|
|
213
|
+
expect { service_call }.
|
|
214
|
+
to change { service_instance.some_data_array }.
|
|
215
|
+
from([]).to([2, 1])
|
|
210
216
|
end
|
|
211
217
|
end
|
|
212
218
|
end
|
|
@@ -29,7 +29,7 @@ class TestServiceWithError < TestService
|
|
|
29
29
|
|
|
30
30
|
def call
|
|
31
31
|
execute_with_rescue do
|
|
32
|
-
|
|
32
|
+
fail StandardError
|
|
33
33
|
end
|
|
34
34
|
end
|
|
35
35
|
end
|
|
@@ -41,7 +41,7 @@ class TestServiceWithRescue < TestServiceWithError
|
|
|
41
41
|
private
|
|
42
42
|
|
|
43
43
|
def handle_error
|
|
44
|
-
|
|
44
|
+
fail CustomError
|
|
45
45
|
end
|
|
46
46
|
end
|
|
47
47
|
class TestServiceWithHook < TestServiceWithRescue
|
|
@@ -56,6 +56,7 @@ class TestServiceWithHook < TestServiceWithRescue
|
|
|
56
56
|
def handle_error
|
|
57
57
|
# do nothing
|
|
58
58
|
end
|
|
59
|
+
|
|
59
60
|
def inc_hook_exec_count
|
|
60
61
|
@hook_exec_count += 1
|
|
61
62
|
end
|
|
@@ -82,9 +83,11 @@ class TestServiceWithBlockBeforeAfterHook < TestServiceWithHook
|
|
|
82
83
|
end
|
|
83
84
|
|
|
84
85
|
class TestServiceWithManySymbolBeforeHook < TestServiceWithHook
|
|
85
|
-
add_execute_with_rescue_before_hooks(
|
|
86
|
-
|
|
87
|
-
|
|
86
|
+
add_execute_with_rescue_before_hooks(
|
|
87
|
+
:inc_hook_exec_count,
|
|
88
|
+
:inc_hook_exec_count,
|
|
89
|
+
:inc_hook_exec_count,
|
|
90
|
+
)
|
|
88
91
|
end
|
|
89
92
|
class TestServiceWithManySymbolBeforeHookInherited <
|
|
90
93
|
TestServiceWithManySymbolBeforeHook
|
|
@@ -111,9 +114,8 @@ class TestServiceWithManyAfterHooks < TestServiceWithHook
|
|
|
111
114
|
end
|
|
112
115
|
end
|
|
113
116
|
|
|
114
|
-
|
|
115
117
|
class TestServiceWithErrorAndAfterHook < TestServiceWithBlockAfterHook
|
|
116
118
|
def handle_error
|
|
117
|
-
|
|
119
|
+
fail RuntimeError
|
|
118
120
|
end
|
|
119
121
|
end
|
data/spec/spec_helper.rb
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
1
|
if ENV["TRAVIS"]
|
|
2
|
-
require
|
|
2
|
+
require "coveralls"
|
|
3
3
|
Coveralls.wear!
|
|
4
4
|
end
|
|
5
5
|
|
|
6
|
-
require
|
|
6
|
+
require "execute_with_rescue"
|
|
7
7
|
|
|
8
|
-
require
|
|
9
|
-
require
|
|
8
|
+
require "fixtures/test_service_classes"
|
|
9
|
+
require "rspec"
|
|
10
|
+
require "rspec/its"
|
|
10
11
|
|
|
11
|
-
require
|
|
12
|
+
require "logger"
|
|
12
13
|
|
|
13
|
-
RSpec.configure do
|
|
14
|
+
RSpec.configure do
|
|
14
15
|
end
|
metadata
CHANGED
|
@@ -1,131 +1,160 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: execute_with_rescue
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.0.
|
|
4
|
+
version: 0.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- PikachuEXE
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2016-12-23 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
|
16
16
|
requirements:
|
|
17
|
-
- -
|
|
17
|
+
- - ">="
|
|
18
18
|
- !ruby/object:Gem::Version
|
|
19
|
-
version:
|
|
20
|
-
- - <
|
|
19
|
+
version: 4.0.0
|
|
20
|
+
- - "<"
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 5.
|
|
22
|
+
version: 5.1.0
|
|
23
23
|
type: :runtime
|
|
24
24
|
prerelease: false
|
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
26
|
requirements:
|
|
27
|
-
- -
|
|
27
|
+
- - ">="
|
|
28
28
|
- !ruby/object:Gem::Version
|
|
29
|
-
version:
|
|
30
|
-
- - <
|
|
29
|
+
version: 4.0.0
|
|
30
|
+
- - "<"
|
|
31
31
|
- !ruby/object:Gem::Version
|
|
32
|
-
version: 5.
|
|
32
|
+
version: 5.1.0
|
|
33
33
|
- !ruby/object:Gem::Dependency
|
|
34
34
|
name: bundler
|
|
35
35
|
requirement: !ruby/object:Gem::Requirement
|
|
36
36
|
requirements:
|
|
37
|
-
- - ~>
|
|
37
|
+
- - "~>"
|
|
38
38
|
- !ruby/object:Gem::Version
|
|
39
39
|
version: '1.5'
|
|
40
40
|
type: :development
|
|
41
41
|
prerelease: false
|
|
42
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
43
43
|
requirements:
|
|
44
|
-
- - ~>
|
|
44
|
+
- - "~>"
|
|
45
45
|
- !ruby/object:Gem::Version
|
|
46
46
|
version: '1.5'
|
|
47
47
|
- !ruby/object:Gem::Dependency
|
|
48
48
|
name: rake
|
|
49
49
|
requirement: !ruby/object:Gem::Requirement
|
|
50
50
|
requirements:
|
|
51
|
-
- -
|
|
51
|
+
- - "~>"
|
|
52
52
|
- !ruby/object:Gem::Version
|
|
53
|
-
version: '0'
|
|
53
|
+
version: '10.0'
|
|
54
54
|
type: :development
|
|
55
55
|
prerelease: false
|
|
56
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
57
57
|
requirements:
|
|
58
|
-
- -
|
|
58
|
+
- - "~>"
|
|
59
59
|
- !ruby/object:Gem::Version
|
|
60
|
-
version: '0'
|
|
60
|
+
version: '10.0'
|
|
61
61
|
- !ruby/object:Gem::Dependency
|
|
62
62
|
name: appraisal
|
|
63
63
|
requirement: !ruby/object:Gem::Requirement
|
|
64
64
|
requirements:
|
|
65
|
-
- -
|
|
65
|
+
- - "~>"
|
|
66
66
|
- !ruby/object:Gem::Version
|
|
67
|
-
version: 0
|
|
67
|
+
version: '2.0'
|
|
68
68
|
type: :development
|
|
69
69
|
prerelease: false
|
|
70
70
|
version_requirements: !ruby/object:Gem::Requirement
|
|
71
71
|
requirements:
|
|
72
|
-
- -
|
|
72
|
+
- - "~>"
|
|
73
73
|
- !ruby/object:Gem::Version
|
|
74
|
-
version: 0
|
|
74
|
+
version: '2.0'
|
|
75
75
|
- !ruby/object:Gem::Dependency
|
|
76
76
|
name: rspec
|
|
77
77
|
requirement: !ruby/object:Gem::Requirement
|
|
78
78
|
requirements:
|
|
79
|
-
- - ~>
|
|
79
|
+
- - "~>"
|
|
80
80
|
- !ruby/object:Gem::Version
|
|
81
|
-
version:
|
|
81
|
+
version: '3.0'
|
|
82
82
|
type: :development
|
|
83
83
|
prerelease: false
|
|
84
84
|
version_requirements: !ruby/object:Gem::Requirement
|
|
85
85
|
requirements:
|
|
86
|
-
- - ~>
|
|
86
|
+
- - "~>"
|
|
87
87
|
- !ruby/object:Gem::Version
|
|
88
|
-
version:
|
|
88
|
+
version: '3.0'
|
|
89
|
+
- !ruby/object:Gem::Dependency
|
|
90
|
+
name: rspec-its
|
|
91
|
+
requirement: !ruby/object:Gem::Requirement
|
|
92
|
+
requirements:
|
|
93
|
+
- - "~>"
|
|
94
|
+
- !ruby/object:Gem::Version
|
|
95
|
+
version: '1.0'
|
|
96
|
+
type: :development
|
|
97
|
+
prerelease: false
|
|
98
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
99
|
+
requirements:
|
|
100
|
+
- - "~>"
|
|
101
|
+
- !ruby/object:Gem::Version
|
|
102
|
+
version: '1.0'
|
|
89
103
|
- !ruby/object:Gem::Dependency
|
|
90
104
|
name: coveralls
|
|
91
105
|
requirement: !ruby/object:Gem::Requirement
|
|
92
106
|
requirements:
|
|
93
|
-
- -
|
|
107
|
+
- - ">="
|
|
94
108
|
- !ruby/object:Gem::Version
|
|
95
109
|
version: '0.7'
|
|
96
110
|
type: :development
|
|
97
111
|
prerelease: false
|
|
98
112
|
version_requirements: !ruby/object:Gem::Requirement
|
|
99
113
|
requirements:
|
|
100
|
-
- -
|
|
114
|
+
- - ">="
|
|
101
115
|
- !ruby/object:Gem::Version
|
|
102
116
|
version: '0.7'
|
|
103
117
|
- !ruby/object:Gem::Dependency
|
|
104
118
|
name: gem-release
|
|
105
119
|
requirement: !ruby/object:Gem::Requirement
|
|
106
120
|
requirements:
|
|
107
|
-
- -
|
|
121
|
+
- - ">="
|
|
108
122
|
- !ruby/object:Gem::Version
|
|
109
123
|
version: '0.7'
|
|
110
124
|
type: :development
|
|
111
125
|
prerelease: false
|
|
112
126
|
version_requirements: !ruby/object:Gem::Requirement
|
|
113
127
|
requirements:
|
|
114
|
-
- -
|
|
128
|
+
- - ">="
|
|
115
129
|
- !ruby/object:Gem::Version
|
|
116
130
|
version: '0.7'
|
|
131
|
+
- !ruby/object:Gem::Dependency
|
|
132
|
+
name: rubocop
|
|
133
|
+
requirement: !ruby/object:Gem::Requirement
|
|
134
|
+
requirements:
|
|
135
|
+
- - "~>"
|
|
136
|
+
- !ruby/object:Gem::Version
|
|
137
|
+
version: '0.30'
|
|
138
|
+
type: :development
|
|
139
|
+
prerelease: false
|
|
140
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
141
|
+
requirements:
|
|
142
|
+
- - "~>"
|
|
143
|
+
- !ruby/object:Gem::Version
|
|
144
|
+
version: '0.30'
|
|
117
145
|
description: |2
|
|
118
|
-
|
|
119
|
-
|
|
146
|
+
Saves your from writing `begin...rescue...ensure...end` everywhere.
|
|
147
|
+
This assumes you know how to use `rescue_from` not just within a controller.
|
|
120
148
|
email:
|
|
121
149
|
- pikachuexe@gmail.com
|
|
122
150
|
executables: []
|
|
123
151
|
extensions: []
|
|
124
152
|
extra_rdoc_files: []
|
|
125
153
|
files:
|
|
126
|
-
- .gitignore
|
|
127
|
-
- .rspec
|
|
128
|
-
- .
|
|
154
|
+
- ".gitignore"
|
|
155
|
+
- ".rspec"
|
|
156
|
+
- ".rubocop.yml"
|
|
157
|
+
- ".travis.yml"
|
|
129
158
|
- Appraisals
|
|
130
159
|
- CHANGELOG.md
|
|
131
160
|
- Gemfile
|
|
@@ -133,9 +162,10 @@ files:
|
|
|
133
162
|
- README.md
|
|
134
163
|
- Rakefile
|
|
135
164
|
- execute_with_rescue.gemspec
|
|
136
|
-
- gemfiles/rails_3_2.gemfile
|
|
137
165
|
- gemfiles/rails_4_0.gemfile
|
|
138
166
|
- gemfiles/rails_4_1.gemfile
|
|
167
|
+
- gemfiles/rails_4_2.gemfile
|
|
168
|
+
- gemfiles/rails_5_0.gemfile
|
|
139
169
|
- lib/execute_with_rescue.rb
|
|
140
170
|
- lib/execute_with_rescue/errors.rb
|
|
141
171
|
- lib/execute_with_rescue/mixins/core.rb
|
|
@@ -153,17 +183,17 @@ require_paths:
|
|
|
153
183
|
- lib
|
|
154
184
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
155
185
|
requirements:
|
|
156
|
-
- -
|
|
186
|
+
- - ">="
|
|
157
187
|
- !ruby/object:Gem::Version
|
|
158
|
-
version: 1.
|
|
188
|
+
version: 2.1.0
|
|
159
189
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
160
190
|
requirements:
|
|
161
|
-
- -
|
|
191
|
+
- - ">="
|
|
162
192
|
- !ruby/object:Gem::Version
|
|
163
193
|
version: 1.4.0
|
|
164
194
|
requirements: []
|
|
165
195
|
rubyforge_project:
|
|
166
|
-
rubygems_version: 2.
|
|
196
|
+
rubygems_version: 2.5.2
|
|
167
197
|
signing_key:
|
|
168
198
|
specification_version: 4
|
|
169
199
|
summary: Execute code without writting rescue in methods with before and after hooks.
|