functional-light-service 0.4.4 → 6.0.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.
- checksums.yaml +4 -4
- data/.github/workflows/project-build.yml +43 -11
- data/.rubocop.yml +101 -160
- data/AUDIT-functional-light-service.md +352 -0
- data/Appraisals +4 -0
- data/CHANGELOG.md +118 -0
- data/Gemfile +0 -2
- data/README.md +1544 -1426
- data/Rakefile +1 -1
- data/VERSION +1 -1
- data/audit/bench.rb +99 -0
- data/audit/verify_findings.rb +172 -0
- data/functional-light-service.gemspec +15 -16
- data/lib/functional-light-service/action.rb +97 -101
- data/lib/functional-light-service/configuration.rb +26 -24
- data/lib/functional-light-service/context/key_verifier.rb +124 -118
- data/lib/functional-light-service/context.rb +63 -20
- data/lib/functional-light-service/deprecations.rb +26 -0
- data/lib/functional-light-service/errors.rb +8 -6
- data/lib/functional-light-service/functional/enum.rb +286 -250
- data/lib/functional-light-service/functional/maybe.rb +21 -15
- data/lib/functional-light-service/functional/monad.rb +77 -66
- data/lib/functional-light-service/functional/null.rb +88 -74
- data/lib/functional-light-service/functional/option.rb +100 -97
- data/lib/functional-light-service/functional/result.rb +129 -116
- data/lib/functional-light-service/localization_adapter.rb +48 -47
- data/lib/functional-light-service/organizer/execute.rb +16 -14
- data/lib/functional-light-service/organizer/iterate.rb +30 -25
- data/lib/functional-light-service/organizer/reduce_if.rb +19 -17
- data/lib/functional-light-service/organizer/reduce_until.rb +22 -20
- data/lib/functional-light-service/organizer/scoped_reducable.rb +15 -13
- data/lib/functional-light-service/organizer/with_callback.rb +28 -26
- data/lib/functional-light-service/organizer/with_reducer.rb +81 -71
- data/lib/functional-light-service/organizer/with_reducer_factory.rb +20 -18
- data/lib/functional-light-service/organizer/with_reducer_log_decorator.rb +110 -105
- data/lib/functional-light-service/organizer.rb +114 -104
- data/lib/functional-light-service/testing/context_factory.rb +48 -42
- data/lib/functional-light-service/testing.rb +3 -1
- data/lib/functional-light-service/version.rb +5 -3
- data/lib/functional-light-service.rb +30 -28
- data/spec/acceptance/after_actions_spec.rb +87 -71
- data/spec/acceptance/before_actions_spec.rb +115 -98
- data/spec/acceptance/custom_log_from_organizer_spec.rb +61 -60
- data/spec/acceptance/deprecation_warnings_spec.rb +82 -0
- data/spec/acceptance/fail_spec.rb +52 -50
- data/spec/acceptance/message_localization_spec.rb +119 -118
- data/spec/acceptance/organizer/add_aliases_spec.rb +28 -0
- data/spec/acceptance/organizer/add_to_context_spec.rb +30 -0
- data/spec/acceptance/organizer/context_failure_and_skipping_spec.rb +68 -65
- data/spec/acceptance/organizer/iterate_spec.rb +7 -0
- data/spec/acceptance/organizer/reduce_if_spec.rb +89 -83
- data/spec/acceptance/organizer/reduce_until_spec.rb +6 -0
- data/spec/acceptance/organizer/with_callback_spec.rb +113 -110
- data/spec/acceptance/{not_having_call_method_warning_spec.rb → organizer_entry_point_spec.rb} +10 -7
- data/spec/acceptance/rollback_spec.rb +183 -132
- data/spec/action_expects_and_promises_spec.rb +97 -93
- data/spec/action_promised_keys_spec.rb +126 -122
- data/spec/action_spec.rb +8 -0
- data/spec/context_spec.rb +289 -197
- data/spec/examples/controller_spec.rb +63 -63
- data/spec/examples/validate_address_spec.rb +38 -37
- data/spec/lib/deterministic/currify_spec.rb +90 -88
- data/spec/lib/deterministic/null_spec.rb +6 -1
- data/spec/lib/deterministic/option_spec.rb +140 -133
- data/spec/lib/deterministic/result/result_map_spec.rb +155 -154
- data/spec/lib/deterministic/result/result_shared.rb +3 -2
- data/spec/lib/deterministic/result_spec.rb +2 -2
- data/spec/lib/edge_cases_spec.rb +156 -0
- data/spec/lib/enum_spec.rb +1 -1
- data/spec/lib/native_pattern_matching_spec.rb +74 -0
- data/spec/organizer_spec.rb +115 -93
- data/spec/readme_spec.rb +45 -47
- data/spec/sample/calculates_order_tax_action_spec.rb +16 -16
- data/spec/sample/calculates_tax_spec.rb +1 -1
- data/spec/sample/looks_up_tax_percentage_action_spec.rb +55 -55
- data/spec/sample/provides_free_shipping_action_spec.rb +1 -1
- data/spec/sample/tax/calculates_order_tax_action.rb +10 -9
- data/spec/sample/tax/looks_up_tax_percentage_action.rb +28 -27
- data/spec/sample/tax/provides_free_shipping_action.rb +11 -10
- data/spec/spec_helper.rb +21 -13
- data/spec/test_doubles.rb +628 -564
- data/spec/testing/context_factory_spec.rb +21 -0
- metadata +49 -117
- data/.travis.yml +0 -24
- data/lib/functional-light-service/organizer/verify_call_method_exists.rb +0 -29
- data/spec/acceptance/include_warning_spec.rb +0 -29
|
@@ -4,6 +4,10 @@ require "test_doubles"
|
|
|
4
4
|
describe "ContextFactory - used with AdditionOrganizer" do
|
|
5
5
|
let(:organizer) { TestDoubles::AdditionOrganizer }
|
|
6
6
|
|
|
7
|
+
after do
|
|
8
|
+
TestDoubles::AdditionOrganizer.before_actions = nil
|
|
9
|
+
end
|
|
10
|
+
|
|
7
11
|
context "when called with the first action" do
|
|
8
12
|
it "does not alter the context" do
|
|
9
13
|
ctx = FunctionalLightService::Testing::ContextFactory
|
|
@@ -52,4 +56,21 @@ describe "ContextFactory - used with AdditionOrganizer" do
|
|
|
52
56
|
expect(context[:_before_actions].length).to eq(1)
|
|
53
57
|
end
|
|
54
58
|
end
|
|
59
|
+
|
|
60
|
+
context "when used repeatedly" do
|
|
61
|
+
it "does not leave its temporary hook on the organizer class" do
|
|
62
|
+
2.times do
|
|
63
|
+
FunctionalLightService::Testing::ContextFactory
|
|
64
|
+
.make_from(organizer)
|
|
65
|
+
.for(TestDoubles::AddsTwoAction)
|
|
66
|
+
.with(1)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
hooks = organizer.instance_variable_get(:@before_actions)
|
|
70
|
+
expect(hooks.nil? || hooks.empty?).to be(true)
|
|
71
|
+
|
|
72
|
+
# e l'organizer continua a funzionare normalmente
|
|
73
|
+
expect(organizer.call(1).fetch(:number)).to eq(7)
|
|
74
|
+
end
|
|
75
|
+
end
|
|
55
76
|
end
|
metadata
CHANGED
|
@@ -1,35 +1,34 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: functional-light-service
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 6.0.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Boscolo Michele
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain: []
|
|
11
|
-
date:
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
12
11
|
dependencies:
|
|
13
12
|
- !ruby/object:Gem::Dependency
|
|
14
13
|
name: dry-inflector
|
|
15
14
|
requirement: !ruby/object:Gem::Requirement
|
|
16
15
|
requirements:
|
|
17
|
-
- - "~>"
|
|
18
|
-
- !ruby/object:Gem::Version
|
|
19
|
-
version: '0.2'
|
|
20
16
|
- - ">="
|
|
21
17
|
- !ruby/object:Gem::Version
|
|
22
18
|
version: 0.2.1
|
|
19
|
+
- - "<"
|
|
20
|
+
- !ruby/object:Gem::Version
|
|
21
|
+
version: '2'
|
|
23
22
|
type: :runtime
|
|
24
23
|
prerelease: false
|
|
25
24
|
version_requirements: !ruby/object:Gem::Requirement
|
|
26
25
|
requirements:
|
|
27
|
-
- - "~>"
|
|
28
|
-
- !ruby/object:Gem::Version
|
|
29
|
-
version: '0.2'
|
|
30
26
|
- - ">="
|
|
31
27
|
- !ruby/object:Gem::Version
|
|
32
28
|
version: 0.2.1
|
|
29
|
+
- - "<"
|
|
30
|
+
- !ruby/object:Gem::Version
|
|
31
|
+
version: '2'
|
|
33
32
|
- !ruby/object:Gem::Dependency
|
|
34
33
|
name: i18n
|
|
35
34
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -51,159 +50,149 @@ dependencies:
|
|
|
51
50
|
- !ruby/object:Gem::Version
|
|
52
51
|
version: 1.8.11
|
|
53
52
|
- !ruby/object:Gem::Dependency
|
|
54
|
-
name:
|
|
53
|
+
name: logger
|
|
55
54
|
requirement: !ruby/object:Gem::Requirement
|
|
56
55
|
requirements:
|
|
57
56
|
- - "~>"
|
|
58
57
|
- !ruby/object:Gem::Version
|
|
59
|
-
version: '1.
|
|
60
|
-
|
|
61
|
-
- !ruby/object:Gem::Version
|
|
62
|
-
version: 1.8.11
|
|
63
|
-
type: :development
|
|
58
|
+
version: '1.5'
|
|
59
|
+
type: :runtime
|
|
64
60
|
prerelease: false
|
|
65
61
|
version_requirements: !ruby/object:Gem::Requirement
|
|
66
62
|
requirements:
|
|
67
63
|
- - "~>"
|
|
68
64
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '1.
|
|
70
|
-
- - ">="
|
|
71
|
-
- !ruby/object:Gem::Version
|
|
72
|
-
version: 1.8.11
|
|
65
|
+
version: '1.5'
|
|
73
66
|
- !ruby/object:Gem::Dependency
|
|
74
|
-
name:
|
|
67
|
+
name: rake
|
|
75
68
|
requirement: !ruby/object:Gem::Requirement
|
|
76
69
|
requirements:
|
|
77
70
|
- - "~>"
|
|
78
71
|
- !ruby/object:Gem::Version
|
|
79
|
-
version: '0
|
|
80
|
-
- - ">="
|
|
81
|
-
- !ruby/object:Gem::Version
|
|
82
|
-
version: 0.2.1
|
|
72
|
+
version: '13.0'
|
|
83
73
|
type: :development
|
|
84
74
|
prerelease: false
|
|
85
75
|
version_requirements: !ruby/object:Gem::Requirement
|
|
86
76
|
requirements:
|
|
87
77
|
- - "~>"
|
|
88
78
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '0
|
|
90
|
-
- - ">="
|
|
91
|
-
- !ruby/object:Gem::Version
|
|
92
|
-
version: 0.2.1
|
|
79
|
+
version: '13.0'
|
|
93
80
|
- !ruby/object:Gem::Dependency
|
|
94
81
|
name: rspec
|
|
95
82
|
requirement: !ruby/object:Gem::Requirement
|
|
96
83
|
requirements:
|
|
97
84
|
- - "~>"
|
|
98
85
|
- !ruby/object:Gem::Version
|
|
99
|
-
version: 3.
|
|
86
|
+
version: '3.13'
|
|
100
87
|
type: :development
|
|
101
88
|
prerelease: false
|
|
102
89
|
version_requirements: !ruby/object:Gem::Requirement
|
|
103
90
|
requirements:
|
|
104
91
|
- - "~>"
|
|
105
92
|
- !ruby/object:Gem::Version
|
|
106
|
-
version: 3.
|
|
93
|
+
version: '3.13'
|
|
107
94
|
- !ruby/object:Gem::Dependency
|
|
108
95
|
name: simplecov
|
|
109
96
|
requirement: !ruby/object:Gem::Requirement
|
|
110
97
|
requirements:
|
|
111
98
|
- - "~>"
|
|
112
99
|
- !ruby/object:Gem::Version
|
|
113
|
-
version: 0.
|
|
100
|
+
version: '0.22'
|
|
114
101
|
type: :development
|
|
115
102
|
prerelease: false
|
|
116
103
|
version_requirements: !ruby/object:Gem::Requirement
|
|
117
104
|
requirements:
|
|
118
105
|
- - "~>"
|
|
119
106
|
- !ruby/object:Gem::Version
|
|
120
|
-
version: 0.
|
|
107
|
+
version: '0.22'
|
|
121
108
|
- !ruby/object:Gem::Dependency
|
|
122
109
|
name: simplecov-cobertura
|
|
123
110
|
requirement: !ruby/object:Gem::Requirement
|
|
124
111
|
requirements:
|
|
125
112
|
- - "~>"
|
|
126
113
|
- !ruby/object:Gem::Version
|
|
127
|
-
version:
|
|
114
|
+
version: '3.0'
|
|
128
115
|
type: :development
|
|
129
116
|
prerelease: false
|
|
130
117
|
version_requirements: !ruby/object:Gem::Requirement
|
|
131
118
|
requirements:
|
|
132
119
|
- - "~>"
|
|
133
120
|
- !ruby/object:Gem::Version
|
|
134
|
-
version:
|
|
121
|
+
version: '3.0'
|
|
135
122
|
- !ruby/object:Gem::Dependency
|
|
136
123
|
name: rubocop
|
|
137
124
|
requirement: !ruby/object:Gem::Requirement
|
|
138
125
|
requirements:
|
|
139
126
|
- - "~>"
|
|
140
127
|
- !ruby/object:Gem::Version
|
|
141
|
-
version: 1.
|
|
128
|
+
version: '1.75'
|
|
142
129
|
type: :development
|
|
143
130
|
prerelease: false
|
|
144
131
|
version_requirements: !ruby/object:Gem::Requirement
|
|
145
132
|
requirements:
|
|
146
133
|
- - "~>"
|
|
147
134
|
- !ruby/object:Gem::Version
|
|
148
|
-
version: 1.
|
|
135
|
+
version: '1.75'
|
|
149
136
|
- !ruby/object:Gem::Dependency
|
|
150
137
|
name: rubocop-performance
|
|
151
138
|
requirement: !ruby/object:Gem::Requirement
|
|
152
139
|
requirements:
|
|
153
140
|
- - "~>"
|
|
154
141
|
- !ruby/object:Gem::Version
|
|
155
|
-
version: 1.
|
|
142
|
+
version: '1.20'
|
|
156
143
|
type: :development
|
|
157
144
|
prerelease: false
|
|
158
145
|
version_requirements: !ruby/object:Gem::Requirement
|
|
159
146
|
requirements:
|
|
160
147
|
- - "~>"
|
|
161
148
|
- !ruby/object:Gem::Version
|
|
162
|
-
version: 1.
|
|
149
|
+
version: '1.20'
|
|
163
150
|
- !ruby/object:Gem::Dependency
|
|
164
151
|
name: pry
|
|
165
152
|
requirement: !ruby/object:Gem::Requirement
|
|
166
153
|
requirements:
|
|
167
154
|
- - "~>"
|
|
168
155
|
- !ruby/object:Gem::Version
|
|
169
|
-
version: 0.
|
|
156
|
+
version: '0.15'
|
|
170
157
|
type: :development
|
|
171
158
|
prerelease: false
|
|
172
159
|
version_requirements: !ruby/object:Gem::Requirement
|
|
173
160
|
requirements:
|
|
174
161
|
- - "~>"
|
|
175
162
|
- !ruby/object:Gem::Version
|
|
176
|
-
version: 0.
|
|
163
|
+
version: '0.15'
|
|
177
164
|
- !ruby/object:Gem::Dependency
|
|
178
165
|
name: solargraph
|
|
179
166
|
requirement: !ruby/object:Gem::Requirement
|
|
180
167
|
requirements:
|
|
181
168
|
- - "~>"
|
|
182
169
|
- !ruby/object:Gem::Version
|
|
183
|
-
version: 0.
|
|
170
|
+
version: '0.50'
|
|
184
171
|
type: :development
|
|
185
172
|
prerelease: false
|
|
186
173
|
version_requirements: !ruby/object:Gem::Requirement
|
|
187
174
|
requirements:
|
|
188
175
|
- - "~>"
|
|
189
176
|
- !ruby/object:Gem::Version
|
|
190
|
-
version: 0.
|
|
177
|
+
version: '0.50'
|
|
191
178
|
- !ruby/object:Gem::Dependency
|
|
192
|
-
name:
|
|
179
|
+
name: benchmark-ips
|
|
193
180
|
requirement: !ruby/object:Gem::Requirement
|
|
194
181
|
requirements:
|
|
195
182
|
- - "~>"
|
|
196
183
|
- !ruby/object:Gem::Version
|
|
197
|
-
version:
|
|
184
|
+
version: '2.13'
|
|
198
185
|
type: :development
|
|
199
186
|
prerelease: false
|
|
200
187
|
version_requirements: !ruby/object:Gem::Requirement
|
|
201
188
|
requirements:
|
|
202
189
|
- - "~>"
|
|
203
190
|
- !ruby/object:Gem::Version
|
|
204
|
-
version:
|
|
205
|
-
description:
|
|
206
|
-
programming
|
|
191
|
+
version: '2.13'
|
|
192
|
+
description: 'FunctionalLightService combines the Organizer/Action/Context pattern
|
|
193
|
+
of LightService with functional programming constructs (Result/Option monads, pattern
|
|
194
|
+
matching) inspired by Deterministic: complex workflows are organized into small
|
|
195
|
+
single-purpose actions with functional error handling.'
|
|
207
196
|
email:
|
|
208
197
|
- miboscol@gmail.com
|
|
209
198
|
executables: []
|
|
@@ -215,7 +204,7 @@ files:
|
|
|
215
204
|
- ".rspec"
|
|
216
205
|
- ".rubocop.yml"
|
|
217
206
|
- ".solargraph.yml"
|
|
218
|
-
-
|
|
207
|
+
- AUDIT-functional-light-service.md
|
|
219
208
|
- Appraisals
|
|
220
209
|
- CHANGELOG.md
|
|
221
210
|
- CODE_OF_CONDUCT.md
|
|
@@ -224,6 +213,8 @@ files:
|
|
|
224
213
|
- README.md
|
|
225
214
|
- Rakefile
|
|
226
215
|
- VERSION
|
|
216
|
+
- audit/bench.rb
|
|
217
|
+
- audit/verify_findings.rb
|
|
227
218
|
- functional-light-service.gemspec
|
|
228
219
|
- gemfiles/dry_inflector_0_2_1.gemfile
|
|
229
220
|
- gemfiles/i18n_1_8_11.gemfile
|
|
@@ -232,6 +223,7 @@ files:
|
|
|
232
223
|
- lib/functional-light-service/configuration.rb
|
|
233
224
|
- lib/functional-light-service/context.rb
|
|
234
225
|
- lib/functional-light-service/context/key_verifier.rb
|
|
226
|
+
- lib/functional-light-service/deprecations.rb
|
|
235
227
|
- lib/functional-light-service/errors.rb
|
|
236
228
|
- lib/functional-light-service/functional/enum.rb
|
|
237
229
|
- lib/functional-light-service/functional/maybe.rb
|
|
@@ -246,7 +238,6 @@ files:
|
|
|
246
238
|
- lib/functional-light-service/organizer/reduce_if.rb
|
|
247
239
|
- lib/functional-light-service/organizer/reduce_until.rb
|
|
248
240
|
- lib/functional-light-service/organizer/scoped_reducable.rb
|
|
249
|
-
- lib/functional-light-service/organizer/verify_call_method_exists.rb
|
|
250
241
|
- lib/functional-light-service/organizer/with_callback.rb
|
|
251
242
|
- lib/functional-light-service/organizer/with_reducer.rb
|
|
252
243
|
- lib/functional-light-service/organizer/with_reducer_factory.rb
|
|
@@ -263,11 +254,12 @@ files:
|
|
|
263
254
|
- spec/acceptance/around_each_spec.rb
|
|
264
255
|
- spec/acceptance/before_actions_spec.rb
|
|
265
256
|
- spec/acceptance/custom_log_from_organizer_spec.rb
|
|
257
|
+
- spec/acceptance/deprecation_warnings_spec.rb
|
|
266
258
|
- spec/acceptance/fail_spec.rb
|
|
267
|
-
- spec/acceptance/include_warning_spec.rb
|
|
268
259
|
- spec/acceptance/log_from_organizer_spec.rb
|
|
269
260
|
- spec/acceptance/message_localization_spec.rb
|
|
270
|
-
- spec/acceptance/
|
|
261
|
+
- spec/acceptance/organizer/add_aliases_spec.rb
|
|
262
|
+
- spec/acceptance/organizer/add_to_context_spec.rb
|
|
271
263
|
- spec/acceptance/organizer/around_each_with_reduce_if_spec.rb
|
|
272
264
|
- spec/acceptance/organizer/context_failure_and_skipping_spec.rb
|
|
273
265
|
- spec/acceptance/organizer/execute_spec.rb
|
|
@@ -275,6 +267,7 @@ files:
|
|
|
275
267
|
- spec/acceptance/organizer/reduce_if_spec.rb
|
|
276
268
|
- spec/acceptance/organizer/reduce_until_spec.rb
|
|
277
269
|
- spec/acceptance/organizer/with_callback_spec.rb
|
|
270
|
+
- spec/acceptance/organizer_entry_point_spec.rb
|
|
278
271
|
- spec/acceptance/rollback_spec.rb
|
|
279
272
|
- spec/acceptance/testing/context_factory_spec.rb
|
|
280
273
|
- spec/action_expected_keys_spec.rb
|
|
@@ -297,7 +290,9 @@ files:
|
|
|
297
290
|
- spec/lib/deterministic/result/result_shared.rb
|
|
298
291
|
- spec/lib/deterministic/result/success_spec.rb
|
|
299
292
|
- spec/lib/deterministic/result_spec.rb
|
|
293
|
+
- spec/lib/edge_cases_spec.rb
|
|
300
294
|
- spec/lib/enum_spec.rb
|
|
295
|
+
- spec/lib/native_pattern_matching_spec.rb
|
|
301
296
|
- spec/localization_adapter_spec.rb
|
|
302
297
|
- spec/organizer/with_reducer_spec.rb
|
|
303
298
|
- spec/organizer_key_aliases_spec.rb
|
|
@@ -323,7 +318,6 @@ homepage: https://github.com/sphynx79/functional-light-service
|
|
|
323
318
|
licenses:
|
|
324
319
|
- MIT
|
|
325
320
|
metadata: {}
|
|
326
|
-
post_install_message:
|
|
327
321
|
rdoc_options: []
|
|
328
322
|
require_paths:
|
|
329
323
|
- lib
|
|
@@ -331,77 +325,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
331
325
|
requirements:
|
|
332
326
|
- - ">="
|
|
333
327
|
- !ruby/object:Gem::Version
|
|
334
|
-
version:
|
|
328
|
+
version: 3.1.0
|
|
335
329
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
336
330
|
requirements:
|
|
337
331
|
- - ">="
|
|
338
332
|
- !ruby/object:Gem::Version
|
|
339
333
|
version: '0'
|
|
340
334
|
requirements: []
|
|
341
|
-
rubygems_version: 3.
|
|
342
|
-
signing_key:
|
|
335
|
+
rubygems_version: 3.6.9
|
|
343
336
|
specification_version: 4
|
|
344
337
|
summary: A service skeleton with an emphasis on simplicity with a pinch a functional
|
|
345
338
|
programming
|
|
346
|
-
test_files:
|
|
347
|
-
- spec/acceptance/add_numbers_spec.rb
|
|
348
|
-
- spec/acceptance/after_actions_spec.rb
|
|
349
|
-
- spec/acceptance/around_each_spec.rb
|
|
350
|
-
- spec/acceptance/before_actions_spec.rb
|
|
351
|
-
- spec/acceptance/custom_log_from_organizer_spec.rb
|
|
352
|
-
- spec/acceptance/fail_spec.rb
|
|
353
|
-
- spec/acceptance/include_warning_spec.rb
|
|
354
|
-
- spec/acceptance/log_from_organizer_spec.rb
|
|
355
|
-
- spec/acceptance/message_localization_spec.rb
|
|
356
|
-
- spec/acceptance/not_having_call_method_warning_spec.rb
|
|
357
|
-
- spec/acceptance/organizer/around_each_with_reduce_if_spec.rb
|
|
358
|
-
- spec/acceptance/organizer/context_failure_and_skipping_spec.rb
|
|
359
|
-
- spec/acceptance/organizer/execute_spec.rb
|
|
360
|
-
- spec/acceptance/organizer/iterate_spec.rb
|
|
361
|
-
- spec/acceptance/organizer/reduce_if_spec.rb
|
|
362
|
-
- spec/acceptance/organizer/reduce_until_spec.rb
|
|
363
|
-
- spec/acceptance/organizer/with_callback_spec.rb
|
|
364
|
-
- spec/acceptance/rollback_spec.rb
|
|
365
|
-
- spec/acceptance/testing/context_factory_spec.rb
|
|
366
|
-
- spec/action_expected_keys_spec.rb
|
|
367
|
-
- spec/action_expects_and_promises_spec.rb
|
|
368
|
-
- spec/action_promised_keys_spec.rb
|
|
369
|
-
- spec/action_spec.rb
|
|
370
|
-
- spec/context/inspect_spec.rb
|
|
371
|
-
- spec/context_spec.rb
|
|
372
|
-
- spec/examples/amount_spec.rb
|
|
373
|
-
- spec/examples/controller_spec.rb
|
|
374
|
-
- spec/examples/validate_address_spec.rb
|
|
375
|
-
- spec/lib/deterministic/class_mixin_spec.rb
|
|
376
|
-
- spec/lib/deterministic/currify_spec.rb
|
|
377
|
-
- spec/lib/deterministic/monad_axioms.rb
|
|
378
|
-
- spec/lib/deterministic/monad_spec.rb
|
|
379
|
-
- spec/lib/deterministic/null_spec.rb
|
|
380
|
-
- spec/lib/deterministic/option_spec.rb
|
|
381
|
-
- spec/lib/deterministic/result/failure_spec.rb
|
|
382
|
-
- spec/lib/deterministic/result/result_map_spec.rb
|
|
383
|
-
- spec/lib/deterministic/result/result_shared.rb
|
|
384
|
-
- spec/lib/deterministic/result/success_spec.rb
|
|
385
|
-
- spec/lib/deterministic/result_spec.rb
|
|
386
|
-
- spec/lib/enum_spec.rb
|
|
387
|
-
- spec/localization_adapter_spec.rb
|
|
388
|
-
- spec/organizer/with_reducer_spec.rb
|
|
389
|
-
- spec/organizer_key_aliases_spec.rb
|
|
390
|
-
- spec/organizer_spec.rb
|
|
391
|
-
- spec/readme_spec.rb
|
|
392
|
-
- spec/sample/calculates_order_tax_action_spec.rb
|
|
393
|
-
- spec/sample/calculates_tax_spec.rb
|
|
394
|
-
- spec/sample/looks_up_tax_percentage_action_spec.rb
|
|
395
|
-
- spec/sample/provides_free_shipping_action_spec.rb
|
|
396
|
-
- spec/sample/tax/calculates_order_tax_action.rb
|
|
397
|
-
- spec/sample/tax/calculates_tax.rb
|
|
398
|
-
- spec/sample/tax/looks_up_tax_percentage_action.rb
|
|
399
|
-
- spec/sample/tax/provides_free_shipping_action.rb
|
|
400
|
-
- spec/spec_helper.rb
|
|
401
|
-
- spec/support.rb
|
|
402
|
-
- spec/test_doubles.rb
|
|
403
|
-
- spec/testing/context_factory/iterate_spec.rb
|
|
404
|
-
- spec/testing/context_factory/reduce_if_spec.rb
|
|
405
|
-
- spec/testing/context_factory/reduce_until_spec.rb
|
|
406
|
-
- spec/testing/context_factory/with_callback_spec.rb
|
|
407
|
-
- spec/testing/context_factory_spec.rb
|
|
339
|
+
test_files: []
|
data/.travis.yml
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
language: ruby
|
|
2
|
-
|
|
3
|
-
env:
|
|
4
|
-
- RUN_COVERAGE_REPORT=true
|
|
5
|
-
|
|
6
|
-
rvm:
|
|
7
|
-
- 2.6.6
|
|
8
|
-
- 2.7.2
|
|
9
|
-
- 3.0.0
|
|
10
|
-
|
|
11
|
-
before_install:
|
|
12
|
-
- 'echo ''gem: --no-ri --no-rdoc'' > ~/.gemrc'
|
|
13
|
-
- yes | gem update --system --force
|
|
14
|
-
- gem install bundler
|
|
15
|
-
- bundle install --gemfile=Gemfile --clean --path vendor/bundle
|
|
16
|
-
|
|
17
|
-
# uncomment this line if your project needs to run something other than `rake`:
|
|
18
|
-
script:
|
|
19
|
-
- bundle exec rspec spec
|
|
20
|
-
- bundle exec rubocop
|
|
21
|
-
|
|
22
|
-
gemfile:
|
|
23
|
-
- gemfiles/dry_inflector_0_2_1.gemfile
|
|
24
|
-
- gemfiles/i18n_1_8_11.gemfile
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
module FunctionalLightService
|
|
2
|
-
module Organizer
|
|
3
|
-
# We need to make sure existing users will
|
|
4
|
-
# use `call` method name going forward.
|
|
5
|
-
# This should be removed eventually.
|
|
6
|
-
class VerifyCallMethodExists
|
|
7
|
-
def self.run(klass, first_caller = '')
|
|
8
|
-
invoker_method = caller_method(first_caller)
|
|
9
|
-
return if invoker_method == 'call'
|
|
10
|
-
|
|
11
|
-
call_method_exists = klass.methods.include?(:call)
|
|
12
|
-
return if call_method_exists
|
|
13
|
-
|
|
14
|
-
warning_msg = "DEPRECATION WARNING:" \
|
|
15
|
-
"The <#{klass.name}> class is an organizer, " \
|
|
16
|
-
"its entry method (the one that calls with & reduce) " \
|
|
17
|
-
"should be named `call`. " \
|
|
18
|
-
"Please use #{klass}.call going forward."
|
|
19
|
-
print warning_msg
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def self.caller_method(first_caller)
|
|
23
|
-
return nil unless first_caller =~ /`(.*)'/
|
|
24
|
-
|
|
25
|
-
Regexp.last_match[1]
|
|
26
|
-
end
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
require 'spec_helper'
|
|
2
|
-
|
|
3
|
-
describe "Including is discouraged" do
|
|
4
|
-
context "when including FunctionalLightService::Organizer" do
|
|
5
|
-
it "gives warning" do
|
|
6
|
-
expected_msg = "DEPRECATION WARNING:\n" \
|
|
7
|
-
"Including FunctionalLightService::Organizer is deprecated\n" \
|
|
8
|
-
"Please use `extend FunctionalLightService::Organizer` instead"
|
|
9
|
-
expect do
|
|
10
|
-
class OrganizerIncludingLS
|
|
11
|
-
include FunctionalLightService::Organizer
|
|
12
|
-
end
|
|
13
|
-
end.to output(expected_msg).to_stdout
|
|
14
|
-
end
|
|
15
|
-
end
|
|
16
|
-
|
|
17
|
-
context "when including FunctionalLightService::Action" do
|
|
18
|
-
it "gives warning" do
|
|
19
|
-
expected_msg = "DEPRECATION WARNING:\n" \
|
|
20
|
-
"Including FunctionalLightService::Action is deprecated\n" \
|
|
21
|
-
"Please use `extend FunctionalLightService::Action` instead"
|
|
22
|
-
expect do
|
|
23
|
-
class ActionIncludingLS
|
|
24
|
-
include FunctionalLightService::Action
|
|
25
|
-
end
|
|
26
|
-
end.to output(expected_msg).to_stdout
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
end
|