servactory 1.6.9 → 1.6.10
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/servactory/methods/dsl.rb +6 -0
- data/lib/servactory/methods/stage.rb +4 -2
- data/lib/servactory/methods/workbench.rb +14 -2
- data/lib/servactory/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 247691253c0f26610c8586f31425e2ac33f4b137f67ba68642affb4e3411d306
|
4
|
+
data.tar.gz: 5050386caa9eaa939eb637f177978085bf02e5a035741e9c372216bc9886276e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: bd2eea84309d84773e035600d143183add63818e7e77ba985d79f7b7b36c4caae9b22f8dc58422a3e2ed7e4c635a09d2beed2f465e639c3c87739034354ffe9a
|
7
|
+
data.tar.gz: a4e7919863596451fa78fdcca4e763906a65d3dd8f5f4b8fe041c98ef7ea3de5a64db7bcdcc059a447ba926810de275ddcf3c3cd6a6315ab9d4de571630852fb
|
@@ -38,6 +38,12 @@ module Servactory
|
|
38
38
|
@current_stage.rollback = rollback
|
39
39
|
end
|
40
40
|
|
41
|
+
def only_if(condition)
|
42
|
+
return if @current_stage.blank?
|
43
|
+
|
44
|
+
@current_stage.condition = condition
|
45
|
+
end
|
46
|
+
|
41
47
|
def make(name, position: nil, **options)
|
42
48
|
position = position.presence || next_position
|
43
49
|
|
@@ -5,12 +5,14 @@ module Servactory
|
|
5
5
|
class Stage
|
6
6
|
attr_accessor :position,
|
7
7
|
:wrapper,
|
8
|
-
:rollback
|
8
|
+
:rollback,
|
9
|
+
:condition
|
9
10
|
|
10
|
-
def initialize(position:, wrapper: nil, rollback: nil)
|
11
|
+
def initialize(position:, wrapper: nil, rollback: nil, condition: nil)
|
11
12
|
@position = position
|
12
13
|
@wrapper = wrapper
|
13
14
|
@rollback = rollback
|
15
|
+
@condition = condition
|
14
16
|
end
|
15
17
|
|
16
18
|
def next_method_position
|
@@ -33,6 +33,8 @@ module Servactory
|
|
33
33
|
end
|
34
34
|
|
35
35
|
def call_stage(stage)
|
36
|
+
return if unnecessary_for_stage?(stage)
|
37
|
+
|
36
38
|
wrapper = stage.wrapper
|
37
39
|
rollback = stage.rollback
|
38
40
|
methods = stage.methods.sorted_by_position
|
@@ -52,13 +54,23 @@ module Servactory
|
|
52
54
|
|
53
55
|
def call_methods(methods)
|
54
56
|
methods.each do |make_method|
|
55
|
-
next if
|
57
|
+
next if unnecessary_for_make?(make_method)
|
56
58
|
|
57
59
|
context.send(make_method.name)
|
58
60
|
end
|
59
61
|
end
|
60
62
|
|
61
|
-
def
|
63
|
+
def unnecessary_for_stage?(stage)
|
64
|
+
condition = stage.condition
|
65
|
+
# is_condition_opposite = stage.is_condition_opposite
|
66
|
+
|
67
|
+
result = prepare_condition_for(condition) # rubocop:disable Style/RedundantAssignment
|
68
|
+
|
69
|
+
# is_condition_opposite ? !result : result
|
70
|
+
result
|
71
|
+
end
|
72
|
+
|
73
|
+
def unnecessary_for_make?(make_method)
|
62
74
|
condition = make_method.condition
|
63
75
|
is_condition_opposite = make_method.is_condition_opposite
|
64
76
|
|
data/lib/servactory/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: servactory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.10
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Sokolov
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-06-
|
11
|
+
date: 2023-06-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|