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.
data/spec/core_spec.rb CHANGED
@@ -1,50 +1,50 @@
1
- require 'spec_helper'
1
+ require "spec_helper"
2
2
 
3
3
  describe ExecuteWithRescue::Mixins::Core do
4
- describe '#execute_with_rescue' do
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 'without a block' do
10
+ context "without a block" do
11
11
  let!(:service_class) { TestServiceWithoutBlockInExecute }
12
12
 
13
13
  specify do
14
- expect { service_call }
15
- .to raise_error(LocalJumpError)
14
+ expect { service_call }.
15
+ to raise_error(LocalJumpError)
16
16
  end
17
17
  end
18
18
 
19
- context 'with private method call' do
19
+ context "with private method call" do
20
20
  let!(:service_class) { TestServiceWithPrivateMethodCallInExecute }
21
21
 
22
22
  specify do
23
- expect { service_call }
24
- .to_not raise_error
23
+ expect { service_call }.
24
+ to_not raise_error
25
25
  end
26
26
  end
27
27
 
28
- context 'without calling rescue_from' do
28
+ context "without calling rescue_from" do
29
29
  let!(:service_class) { TestServiceWithError }
30
30
 
31
31
  specify do
32
- expect { service_call }
33
- .to raise_error(StandardError)
32
+ expect { service_call }.
33
+ to raise_error(StandardError)
34
34
  end
35
35
  end
36
36
 
37
- context 'with calling rescue_from' do
37
+ context "with calling rescue_from" do
38
38
  let!(:service_class) { TestServiceWithRescue }
39
39
 
40
40
  specify do
41
- expect { service_call }
42
- .to raise_error(TestServiceWithRescue::CustomError)
41
+ expect { service_call }.
42
+ to raise_error(TestServiceWithRescue::CustomError)
43
43
  end
44
44
 
45
- context 'with single hook' do
46
- context 'with nothing' do
47
- describe 'in before hook' do
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 'in after hook' do
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 'with symbol of a non-existing method name' do
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
- .to raise_error(ExecuteWithRescue::Errors::NoHookMethod)
78
+ expect { service_call }.
79
+ to raise_error(ExecuteWithRescue::Errors::NoHookMethod)
80
80
  end
81
81
  end
82
82
 
83
- context 'with symbol of an existing method name' do
84
- context 'with before hook' do
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
- .to change{ service_instance.hook_exec_count }.from(0).to(1)
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 'with after hook' do
94
+ context "with after hook" do
94
95
  let!(:service_class) { TestServiceWithSymbolAfterHook }
95
96
 
96
97
  specify do
97
- expect { service_call }
98
- .to change{ service_instance.hook_exec_count }.from(0).to(1)
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 'with before & after hook' do
104
+ context "with before & after hook" do
103
105
  let!(:service_class) { TestServiceWithSymbolBeforeAfterHook }
104
106
 
105
107
  specify do
106
- expect { service_call }
107
- .to change{ service_instance.hook_exec_count }.from(0).to(2)
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 'with block' do
113
- context 'with before hook' do
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
- .to change{ service_instance.hook_exec_count }.from(0).to(1)
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 'with after hook' do
126
+ context "with after hook" do
123
127
  let!(:service_class) { TestServiceWithBlockAfterHook }
124
128
 
125
129
  specify do
126
- expect { service_call }
127
- .to change{ service_instance.hook_exec_count }.from(0).to(1)
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 'with before & after hook' do
136
+ context "with before & after hook" do
132
137
  let!(:service_class) { TestServiceWithBlockBeforeAfterHook }
133
138
 
134
139
  specify do
135
- expect { service_call }
136
- .to change{ service_instance.hook_exec_count }.from(0).to(2)
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 'with other type of things' do
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 'with multiple hooks' do
153
- context 'without inheritance' do
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
- .to change{ service_instance.hook_exec_count }.from(0).to(3)
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 'with inheritance' do
168
+ context "with inheritance" do
162
169
  let!(:service_class) { TestServiceWithManySymbolBeforeHookInherited }
163
170
 
164
171
  specify do
165
- expect { service_call }
166
- .to change{ service_instance.hook_exec_count }.from(0).to(5)
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 'with tampered internal class attribuite' do
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 << Hash.new
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 'after hooks run in reverse order of the define order' do
182
- expect { service_call }
183
- .to raise_error(ExecuteWithRescue::Errors::UnsupportedHookValue)
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 'after hooks are run after exception is raised' do
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
- .to raise_error(RuntimeError)
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 'order' do
209
+ describe "order" do
205
210
  let!(:service_class) { TestServiceWithManyAfterHooks }
206
211
 
207
- specify 'after hooks run in reverse order of the define order' do
208
- expect { service_call }
209
- .to change{ service_instance.some_data_array }.from([]).to([2,1])
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
- raise StandardError
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
- raise CustomError
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(:inc_hook_exec_count,
86
- :inc_hook_exec_count,
87
- :inc_hook_exec_count)
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
- raise RuntimeError
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 'coveralls'
2
+ require "coveralls"
3
3
  Coveralls.wear!
4
4
  end
5
5
 
6
- require 'execute_with_rescue'
6
+ require "execute_with_rescue"
7
7
 
8
- require 'fixtures/test_service_classes'
9
- require 'rspec'
8
+ require "fixtures/test_service_classes"
9
+ require "rspec"
10
+ require "rspec/its"
10
11
 
11
- require 'logger'
12
+ require "logger"
12
13
 
13
- RSpec.configure do |config|
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.1
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: 2014-03-26 00:00:00.000000000 Z
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: 3.2.0
20
- - - <
19
+ version: 4.0.0
20
+ - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: 5.0.0
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: 3.2.0
30
- - - <
29
+ version: 4.0.0
30
+ - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: 5.0.0
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.5.2
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.5.2
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: 2.14.0
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: 2.14.0
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
- Saves your from writing `begin...rescue...ensure...end` everywhere.
119
- This assumes you know how to use `rescue_from` not just within a controller.
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
- - .travis.yml
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.9.3
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.2.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.