light-service 0.10.2 → 0.10.3
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/README.md +2 -2
- data/RELEASES.md +3 -0
- data/lib/light-service/organizer.rb +14 -0
- data/lib/light-service/testing/context_factory.rb +19 -22
- data/lib/light-service/version.rb +1 -1
- data/spec/acceptance/after_actions_spec.rb +13 -0
- data/spec/acceptance/testing/context_factory_spec.rb +25 -4
- data/spec/test_doubles.rb +109 -0
- data/spec/testing/context_factory/iterate_spec.rb +39 -0
- data/spec/testing/context_factory/reduce_if_spec.rb +40 -0
- data/spec/testing/context_factory/reduce_until_spec.rb +40 -0
- data/spec/testing/context_factory/with_callback_spec.rb +38 -0
- data/spec/testing/context_factory_spec.rb +28 -6
- metadata +10 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 35d148e9bdcc089cd30046a2a99eff468ec77fde
|
4
|
+
data.tar.gz: 95b6d152ab5eca62471cfb245be0f60c2d4bfc73
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 20fe035e150978da67f5cc624c9e142fc5299c7b20cc1f71d89c90a665577daa85ec73e32f695950f7d5d52ce0a4604159b08d367b195d27191819c18f497b38
|
7
|
+
data.tar.gz: 829ccc813a76c16da7ceb7aaa02262d30c555b5486224212b016588a45c2f172e050e6a2c6adc0c2ebef2c28ce5e9f3968a6c791fbc30c2cf4bee2f2a336824d
|
data/README.md
CHANGED
@@ -257,12 +257,12 @@ Check out this example:
|
|
257
257
|
|
258
258
|
```ruby
|
259
259
|
class LogDuration
|
260
|
-
def self.call(
|
260
|
+
def self.call(context)
|
261
261
|
start_time = Time.now
|
262
262
|
result = yield
|
263
263
|
duration = Time.now - start_time
|
264
264
|
LightService::Configuration.logger.info(
|
265
|
-
:action =>
|
265
|
+
:action => context.current_action,
|
266
266
|
:duration => duration
|
267
267
|
)
|
268
268
|
|
data/RELEASES.md
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
A brief list of new features and changes introduced with the specified version.
|
2
2
|
|
3
|
+
### 0.10.2
|
4
|
+
* [Adding ContextFactory](https://github.com/adomokos/light-service/pull/147).
|
5
|
+
|
3
6
|
### 0.10.2
|
4
7
|
* [Revert 0.10.1](https://github.com/adomokos/light-service/pull/146), it breaks tests in our apps :-(.
|
5
8
|
|
@@ -63,6 +63,8 @@ module LightService
|
|
63
63
|
@aliases = key_hash
|
64
64
|
end
|
65
65
|
|
66
|
+
# This looks like an accessor,
|
67
|
+
# but it's used as a macro in the Organizer
|
66
68
|
def before_actions(*logic)
|
67
69
|
self.before_actions = logic
|
68
70
|
end
|
@@ -71,6 +73,13 @@ module LightService
|
|
71
73
|
@before_actions = [logic].flatten
|
72
74
|
end
|
73
75
|
|
76
|
+
def append_before_actions(action)
|
77
|
+
@before_actions ||= []
|
78
|
+
@before_actions.push(action)
|
79
|
+
end
|
80
|
+
|
81
|
+
# This looks like an accessor,
|
82
|
+
# but it's used as a macro in the Organizer
|
74
83
|
def after_actions(*logic)
|
75
84
|
self.after_actions = logic
|
76
85
|
end
|
@@ -78,6 +87,11 @@ module LightService
|
|
78
87
|
def after_actions=(logic)
|
79
88
|
@after_actions = [logic].flatten
|
80
89
|
end
|
90
|
+
|
91
|
+
def append_after_actions(action)
|
92
|
+
@after_actions ||= []
|
93
|
+
@after_actions.push(action)
|
94
|
+
end
|
81
95
|
end
|
82
96
|
end
|
83
97
|
end
|
@@ -1,17 +1,6 @@
|
|
1
1
|
module LightService
|
2
2
|
module Testing
|
3
3
|
class ContextFactory
|
4
|
-
class ContextFactoryOrganizer
|
5
|
-
extend LightService::Organizer
|
6
|
-
class << self
|
7
|
-
attr_accessor :actions
|
8
|
-
end
|
9
|
-
|
10
|
-
def self.call(ctx)
|
11
|
-
with(ctx).reduce(actions)
|
12
|
-
end
|
13
|
-
end
|
14
|
-
|
15
4
|
attr_reader :organizer
|
16
5
|
|
17
6
|
def self.make_from(organizer)
|
@@ -19,25 +8,33 @@ module LightService
|
|
19
8
|
end
|
20
9
|
|
21
10
|
def for(action)
|
22
|
-
|
11
|
+
@organizer.append_before_actions(
|
12
|
+
lambda do |ctx|
|
13
|
+
if ctx.current_action == action
|
14
|
+
# The last `:_before_actions` hook is for
|
15
|
+
# ContextFactory, remove it, so it won't
|
16
|
+
# be invoked again
|
17
|
+
ctx[:_before_actions].pop
|
18
|
+
|
19
|
+
throw(:return_ctx_from_execution, ctx)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
)
|
23
|
+
|
23
24
|
self
|
24
25
|
end
|
25
26
|
|
26
|
-
|
27
|
-
|
27
|
+
# More than one arguments can be passed to the
|
28
|
+
# Organizer's #call method
|
29
|
+
def with(*args, &block)
|
30
|
+
catch(:return_ctx_from_execution) do
|
31
|
+
@organizer.call(*args, &block)
|
32
|
+
end
|
28
33
|
end
|
29
34
|
|
30
35
|
def initialize(organizer)
|
31
36
|
@organizer = organizer
|
32
37
|
end
|
33
|
-
|
34
|
-
def find_up_to(action)
|
35
|
-
original_actions = organizer.actions
|
36
|
-
|
37
|
-
original_actions.take_while do |current_action|
|
38
|
-
current_action != action
|
39
|
-
end
|
40
|
-
end
|
41
38
|
end
|
42
39
|
end
|
43
40
|
end
|
@@ -64,4 +64,17 @@ RSpec.describe 'Action after_actions' do
|
|
64
64
|
expect(result.fetch(:number)).to eq(1)
|
65
65
|
end
|
66
66
|
end
|
67
|
+
|
68
|
+
describe 'after_actions can be appended' do
|
69
|
+
it 'adds to the :_after_actions collection' do
|
70
|
+
TestDoubles::AdditionOrganizer.append_after_actions(
|
71
|
+
lambda do |ctx|
|
72
|
+
ctx.number -= 3 if ctx.current_action == TestDoubles::AddsThreeAction
|
73
|
+
end
|
74
|
+
)
|
75
|
+
|
76
|
+
result = TestDoubles::AdditionOrganizer.call(0)
|
77
|
+
expect(result.fetch(:number)).to eq(3)
|
78
|
+
end
|
79
|
+
end
|
67
80
|
end
|
@@ -8,12 +8,12 @@ class AdditionOrganizerContextFactory
|
|
8
8
|
LightService::Testing::ContextFactory
|
9
9
|
.make_from(TestDoubles::AdditionOrganizer)
|
10
10
|
.for(action)
|
11
|
-
.with(
|
11
|
+
.with(number)
|
12
12
|
end
|
13
13
|
end
|
14
14
|
|
15
15
|
RSpec.describe TestDoubles::AddsThreeAction do
|
16
|
-
it
|
16
|
+
it 'creates a context for the action with ContextFactory wrapper' do
|
17
17
|
context =
|
18
18
|
AdditionOrganizerContextFactory
|
19
19
|
.make_for(TestDoubles::AddsThreeAction, 1)
|
@@ -21,13 +21,34 @@ RSpec.describe TestDoubles::AddsThreeAction do
|
|
21
21
|
expect(context.number).to eq(7)
|
22
22
|
end
|
23
23
|
|
24
|
-
it
|
24
|
+
it 'creates a context for the action using the ContextFactory' do
|
25
25
|
context =
|
26
26
|
LightService::Testing::ContextFactory
|
27
27
|
.make_from(TestDoubles::AdditionOrganizer)
|
28
28
|
.for(TestDoubles::AddsThreeAction)
|
29
|
-
.with(
|
29
|
+
.with(4) # Context is a "glorified" hash
|
30
30
|
|
31
31
|
expect(context.number).to eq(7)
|
32
32
|
end
|
33
|
+
|
34
|
+
it "works with multiple arguments passed to Organizer's call method" do
|
35
|
+
context = LightService::Testing::ContextFactory
|
36
|
+
.make_from(TestDoubles::ExtraArgumentAdditionOrganizer)
|
37
|
+
.for(described_class)
|
38
|
+
.with(4, 2)
|
39
|
+
|
40
|
+
expect(context.number).to eq(9)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
RSpec.describe TestDoubles::AddsTwoAction do
|
45
|
+
it 'does not execute a callback entirely from a ContextFactory' do
|
46
|
+
context = LightService::Testing::ContextFactory
|
47
|
+
.make_from(TestDoubles::CallbackOrganizer)
|
48
|
+
.for(described_class)
|
49
|
+
.with(:number => 0)
|
50
|
+
|
51
|
+
# add 1, add 10, then stop before executing first add 2
|
52
|
+
expect(context.number).to eq(11)
|
53
|
+
end
|
33
54
|
end
|
data/spec/test_doubles.rb
CHANGED
@@ -223,6 +223,22 @@ module TestDoubles
|
|
223
223
|
end
|
224
224
|
end
|
225
225
|
|
226
|
+
class ExtraArgumentAdditionOrganizer
|
227
|
+
extend LightService::Organizer
|
228
|
+
|
229
|
+
def self.call(number, another_number)
|
230
|
+
with(:number => number + another_number).reduce(actions)
|
231
|
+
end
|
232
|
+
|
233
|
+
def self.actions
|
234
|
+
[
|
235
|
+
AddsOneAction,
|
236
|
+
AddsTwoAction,
|
237
|
+
AddsThreeAction
|
238
|
+
]
|
239
|
+
end
|
240
|
+
end
|
241
|
+
|
226
242
|
class AddsOneAction
|
227
243
|
extend LightService::Action
|
228
244
|
expects :number
|
@@ -251,6 +267,99 @@ module TestDoubles
|
|
251
267
|
end
|
252
268
|
end
|
253
269
|
|
270
|
+
class IterateOrganizer
|
271
|
+
extend LightService::Organizer
|
272
|
+
|
273
|
+
def self.call(ctx)
|
274
|
+
with(ctx).reduce(actions)
|
275
|
+
end
|
276
|
+
|
277
|
+
def self.actions
|
278
|
+
[
|
279
|
+
AddsOneIteratesAction,
|
280
|
+
iterate(:numbers, [
|
281
|
+
AddsTwoAction,
|
282
|
+
AddsThreeAction
|
283
|
+
])
|
284
|
+
]
|
285
|
+
end
|
286
|
+
end
|
287
|
+
|
288
|
+
class AddsOneIteratesAction
|
289
|
+
extend LightService::Action
|
290
|
+
expects :numbers
|
291
|
+
promises :numbers
|
292
|
+
|
293
|
+
executed do |context|
|
294
|
+
context.numbers = context.numbers.map { |n| n + 1 }
|
295
|
+
end
|
296
|
+
end
|
297
|
+
|
298
|
+
class CallbackOrganizer
|
299
|
+
extend LightService::Organizer
|
300
|
+
|
301
|
+
def self.call(ctx)
|
302
|
+
with(ctx).reduce(actions)
|
303
|
+
end
|
304
|
+
|
305
|
+
def self.actions
|
306
|
+
[
|
307
|
+
AddsOneAction,
|
308
|
+
with_callback(AddTenCallbackAction, [
|
309
|
+
AddsTwoAction,
|
310
|
+
AddsThreeAction
|
311
|
+
])
|
312
|
+
]
|
313
|
+
end
|
314
|
+
end
|
315
|
+
|
316
|
+
class AddTenCallbackAction
|
317
|
+
extend LightService::Action
|
318
|
+
expects :number, :callback
|
319
|
+
|
320
|
+
executed do |context|
|
321
|
+
context.number += 10
|
322
|
+
context.number =
|
323
|
+
context.callback.call(context).fetch(:number)
|
324
|
+
end
|
325
|
+
end
|
326
|
+
|
327
|
+
class ReduceUntilOrganizer
|
328
|
+
extend LightService::Organizer
|
329
|
+
|
330
|
+
def self.call(ctx)
|
331
|
+
with(ctx).reduce(actions)
|
332
|
+
end
|
333
|
+
|
334
|
+
def self.actions
|
335
|
+
[
|
336
|
+
AddsOneAction,
|
337
|
+
reduce_until(->(ctx) { ctx.number > 3 }, [
|
338
|
+
AddsTwoAction,
|
339
|
+
AddsThreeAction
|
340
|
+
])
|
341
|
+
]
|
342
|
+
end
|
343
|
+
end
|
344
|
+
|
345
|
+
class ReduceIfOrganizer
|
346
|
+
extend LightService::Organizer
|
347
|
+
|
348
|
+
def self.call(ctx)
|
349
|
+
with(ctx).reduce(actions)
|
350
|
+
end
|
351
|
+
|
352
|
+
def self.actions
|
353
|
+
[
|
354
|
+
AddsOneAction,
|
355
|
+
reduce_if(->(ctx) { ctx.number > 1 }, [
|
356
|
+
AddsTwoAction,
|
357
|
+
AddsThreeAction
|
358
|
+
])
|
359
|
+
]
|
360
|
+
end
|
361
|
+
end
|
362
|
+
|
254
363
|
class MakesTeaExpectingReservedKey
|
255
364
|
extend LightService::Action
|
256
365
|
expects :tea, :message
|
@@ -0,0 +1,39 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'test_doubles'
|
3
|
+
|
4
|
+
RSpec.describe 'ContextFactory - used with IterateOrganizer' do
|
5
|
+
let(:organizer) { TestDoubles::IterateOrganizer }
|
6
|
+
|
7
|
+
context 'when called with outside iterate steps' do
|
8
|
+
it 'creates a context up-to the action defined before the iteration' do
|
9
|
+
ctx =
|
10
|
+
LightService::Testing::ContextFactory
|
11
|
+
.make_from(organizer)
|
12
|
+
.for(TestDoubles::AddsOneIteratesAction)
|
13
|
+
.with(:numbers => [1, 2])
|
14
|
+
|
15
|
+
expect(ctx[:numbers]).to eq([1, 2])
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'creates a context up-to iteration with empty context steps' do
|
19
|
+
ctx =
|
20
|
+
LightService::Testing::ContextFactory
|
21
|
+
.make_from(organizer)
|
22
|
+
.for(TestDoubles::AddsTwoAction)
|
23
|
+
.with(:numbers => [1, 2])
|
24
|
+
|
25
|
+
expect(ctx.numbers).to eq([2, 3])
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'creates a context only to the first step of the iteration' do
|
29
|
+
ctx =
|
30
|
+
LightService::Testing::ContextFactory
|
31
|
+
.make_from(organizer)
|
32
|
+
.for(TestDoubles::AddsThreeAction)
|
33
|
+
.with(:numbers => [1, 2])
|
34
|
+
|
35
|
+
expect(ctx.numbers).to eq([2, 3])
|
36
|
+
expect(ctx.number).to eq(4)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'test_doubles'
|
3
|
+
|
4
|
+
RSpec.describe 'ContextFactory - used with ReduceIfOrganizer' do
|
5
|
+
let(:organizer) { TestDoubles::ReduceIfOrganizer }
|
6
|
+
|
7
|
+
context 'when called with a truthy argument action' do
|
8
|
+
it 'executes a context up-to the callback action' do
|
9
|
+
ctx =
|
10
|
+
LightService::Testing::ContextFactory
|
11
|
+
.make_from(organizer)
|
12
|
+
.for(TestDoubles::AddsThreeAction)
|
13
|
+
.with(:number => 1)
|
14
|
+
|
15
|
+
expect(ctx.number).to eq(4)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'creates a context up-to action with empty context steps' do
|
19
|
+
ctx =
|
20
|
+
LightService::Testing::ContextFactory
|
21
|
+
.make_from(organizer)
|
22
|
+
.for(TestDoubles::AddsTwoAction)
|
23
|
+
.with(:number => 1)
|
24
|
+
|
25
|
+
expect(ctx.number).to eq(2)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'when called with a false argument action' do
|
30
|
+
it 'does not execute the steps' do
|
31
|
+
ctx =
|
32
|
+
LightService::Testing::ContextFactory
|
33
|
+
.make_from(organizer)
|
34
|
+
.for(TestDoubles::AddsThreeAction)
|
35
|
+
.with(:number => 0)
|
36
|
+
|
37
|
+
expect(ctx.number).to eq(1)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'test_doubles'
|
3
|
+
|
4
|
+
RSpec.describe 'ContextFactory - used with ReduceUntilOrganizer' do
|
5
|
+
let(:organizer) { TestDoubles::ReduceUntilOrganizer }
|
6
|
+
|
7
|
+
context 'when called with truthy block' do
|
8
|
+
it 'creates a context up-to the action defined before the iteration' do
|
9
|
+
ctx =
|
10
|
+
LightService::Testing::ContextFactory
|
11
|
+
.make_from(organizer)
|
12
|
+
.for(TestDoubles::AddsTwoAction)
|
13
|
+
.with(:number => 1)
|
14
|
+
|
15
|
+
expect(ctx[:number]).to eq(2)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'creates a context only to the first step of the loop' do
|
19
|
+
ctx =
|
20
|
+
LightService::Testing::ContextFactory
|
21
|
+
.make_from(organizer)
|
22
|
+
.for(TestDoubles::AddsThreeAction)
|
23
|
+
.with(:number => 1)
|
24
|
+
|
25
|
+
expect(ctx.number).to eq(4)
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'when called with falsey block' do
|
30
|
+
it 'creates a context up-to the first step' do
|
31
|
+
ctx =
|
32
|
+
LightService::Testing::ContextFactory
|
33
|
+
.make_from(organizer)
|
34
|
+
.for(TestDoubles::AddsThreeAction)
|
35
|
+
.with(:number => 7)
|
36
|
+
|
37
|
+
expect(ctx[:number]).to eq(10)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
require 'test_doubles'
|
3
|
+
|
4
|
+
RSpec.describe 'ContextFactory - used with CallbackOrganizer' do
|
5
|
+
let(:organizer) { TestDoubles::CallbackOrganizer }
|
6
|
+
|
7
|
+
context 'when called with the callback action' do
|
8
|
+
it 'creates a context up-to the callback action' do
|
9
|
+
ctx =
|
10
|
+
LightService::Testing::ContextFactory
|
11
|
+
.make_from(organizer)
|
12
|
+
.for(TestDoubles::AddTenCallbackAction)
|
13
|
+
.with(:number => 1)
|
14
|
+
|
15
|
+
expect(ctx.number).to eq(2)
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'creates a context up-to callback action with empty context steps' do
|
19
|
+
ctx =
|
20
|
+
LightService::Testing::ContextFactory
|
21
|
+
.make_from(organizer)
|
22
|
+
.for(TestDoubles::AddsTwoAction)
|
23
|
+
.with(:number => 1)
|
24
|
+
|
25
|
+
expect(ctx.number).to eq(12)
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'creates a context up-to the action defined in context steps' do
|
29
|
+
ctx =
|
30
|
+
LightService::Testing::ContextFactory
|
31
|
+
.make_from(organizer)
|
32
|
+
.for(TestDoubles::AddsThreeAction)
|
33
|
+
.with(:number => 1)
|
34
|
+
|
35
|
+
expect(ctx.number).to eq(14)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -2,13 +2,15 @@ require 'spec_helper'
|
|
2
2
|
require 'test_doubles'
|
3
3
|
|
4
4
|
describe 'ContextFactory - used with AdditionOrganizer' do
|
5
|
+
let(:organizer) { TestDoubles::AdditionOrganizer }
|
6
|
+
|
5
7
|
context 'when called with the first action' do
|
6
8
|
it 'does not alter the context' do
|
7
9
|
ctx =
|
8
10
|
LightService::Testing::ContextFactory
|
9
|
-
.make_from(
|
11
|
+
.make_from(organizer)
|
10
12
|
.for(TestDoubles::AddsOneAction)
|
11
|
-
.with(
|
13
|
+
.with(1)
|
12
14
|
|
13
15
|
expect(ctx[:number]).to eq(1)
|
14
16
|
end
|
@@ -18,9 +20,9 @@ describe 'ContextFactory - used with AdditionOrganizer' do
|
|
18
20
|
it 'adds one to the number provided' do
|
19
21
|
ctx =
|
20
22
|
LightService::Testing::ContextFactory
|
21
|
-
.make_from(
|
23
|
+
.make_from(organizer)
|
22
24
|
.for(TestDoubles::AddsTwoAction)
|
23
|
-
.with(
|
25
|
+
.with(1)
|
24
26
|
|
25
27
|
expect(ctx.number).to eq(2)
|
26
28
|
end
|
@@ -30,11 +32,31 @@ describe 'ContextFactory - used with AdditionOrganizer' do
|
|
30
32
|
it 'creates a context up-to the action defined' do
|
31
33
|
ctx =
|
32
34
|
LightService::Testing::ContextFactory
|
33
|
-
.make_from(
|
35
|
+
.make_from(organizer)
|
34
36
|
.for(TestDoubles::AddsThreeAction)
|
35
|
-
.with(
|
37
|
+
.with(1)
|
36
38
|
|
37
39
|
expect(ctx.number).to eq(4)
|
38
40
|
end
|
39
41
|
end
|
42
|
+
|
43
|
+
context 'when there are already before_actions' do
|
44
|
+
it 'only appends before_actions' do
|
45
|
+
TestDoubles::AdditionOrganizer.before_actions = [
|
46
|
+
lambda do |ctx|
|
47
|
+
ctx[:number] += 1 \
|
48
|
+
if ctx.current_action == TestDoubles::AddsTwoAction
|
49
|
+
end
|
50
|
+
]
|
51
|
+
|
52
|
+
context =
|
53
|
+
LightService::Testing::ContextFactory
|
54
|
+
.make_from(TestDoubles::AdditionOrganizer)
|
55
|
+
.for(TestDoubles::AddsThreeAction)
|
56
|
+
.with(4) # Context is a "glorified" hash
|
57
|
+
|
58
|
+
expect(context.number).to eq(8)
|
59
|
+
expect(context[:_before_actions].length).to eq(1)
|
60
|
+
end
|
61
|
+
end
|
40
62
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: light-service
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Attila Domokos
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-03
|
11
|
+
date: 2018-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -179,6 +179,10 @@ files:
|
|
179
179
|
- spec/spec_helper.rb
|
180
180
|
- spec/support.rb
|
181
181
|
- spec/test_doubles.rb
|
182
|
+
- spec/testing/context_factory/iterate_spec.rb
|
183
|
+
- spec/testing/context_factory/reduce_if_spec.rb
|
184
|
+
- spec/testing/context_factory/reduce_until_spec.rb
|
185
|
+
- spec/testing/context_factory/with_callback_spec.rb
|
182
186
|
- spec/testing/context_factory_spec.rb
|
183
187
|
homepage: https://github.com/adomokos/light-service
|
184
188
|
licenses:
|
@@ -252,4 +256,8 @@ test_files:
|
|
252
256
|
- spec/spec_helper.rb
|
253
257
|
- spec/support.rb
|
254
258
|
- spec/test_doubles.rb
|
259
|
+
- spec/testing/context_factory/iterate_spec.rb
|
260
|
+
- spec/testing/context_factory/reduce_if_spec.rb
|
261
|
+
- spec/testing/context_factory/reduce_until_spec.rb
|
262
|
+
- spec/testing/context_factory/with_callback_spec.rb
|
255
263
|
- spec/testing/context_factory_spec.rb
|