servactory 1.8.5 → 1.8.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1b7493cf468717aef41460f0658f7bc3b7de1a280be66dd7408eeb14a861817e
4
- data.tar.gz: e4d05dbc3d4a37ddd3c1bb6bb3c536dde9f11d03525cb53d7f3af74f4ec56030
3
+ metadata.gz: 63d469613e34fcd13e27dc8fb62fa6c36fc25cf9b9e35f5b21af30013ac75993
4
+ data.tar.gz: e3edd5a0bfbd2b889e81be1aeeaa836f80c6e9925c65e5f4ed09ce2a35d44673
5
5
  SHA512:
6
- metadata.gz: c04b93e6f0a4ad53a8ba64e3ec86373bc5ae0bd151a169baddd4c3df195666c000353772cfe600a92ca1e82ad0403cc9f3abad359b6602375aa5eea59c3351e9
7
- data.tar.gz: 74281796feed47017b68ba38b387fb1e20076c85131966ec967d2c0b88a76ad0996b802ea9574c02ec2bbba2a37c3cb1aca62bada4ae25ad1f66d692ecf49726
6
+ metadata.gz: 774bb94eb10a8695cde168e8cd7bc224ebc65804e2092c617dacf471612d1b3980dbc2f6d80b0418f9885a4697587c9d2d12c4172b176d79de4d6114f5198aed
7
+ data.tar.gz: 2987a6379e4404e1757e4cef6749ae3e5fd8b98712d23e630b1b0a5bde5cdac8232046089d59cc1e642b7a540a9def431dfc6708e3696a14b517ce22cd1025f7
@@ -24,7 +24,7 @@ module Servactory
24
24
 
25
25
  private
26
26
 
27
- def getter_with(name:, &block) # rubocop:disable Lint/UnusedMethodArgument
27
+ def getter_with(name:, &block) # rubocop:disable Metrics/MethodLength, Lint/UnusedMethodArgument, Metrics/AbcSize
28
28
  input_name = name.to_s.chomp("?").to_sym
29
29
  input = @collection_of_inputs.find_by(name: input_name)
30
30
 
@@ -187,7 +187,7 @@ module Servactory
187
187
  )
188
188
  end
189
189
 
190
- def add_prepare_option_with(options)
190
+ def add_prepare_option_with(options) # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
191
191
  collection_of_options << Option.new(
192
192
  name: :prepare,
193
193
  input: self,
@@ -42,6 +42,14 @@ module Servactory
42
42
  def only_if(condition)
43
43
  return if @current_stage.blank?
44
44
 
45
+ @current_stage.is_condition_opposite = false
46
+ @current_stage.condition = condition
47
+ end
48
+
49
+ def only_unless(condition)
50
+ return if @current_stage.blank?
51
+
52
+ @current_stage.is_condition_opposite = true
45
53
  @current_stage.condition = condition
46
54
  end
47
55
 
@@ -6,7 +6,8 @@ module Servactory
6
6
  attr_accessor :position,
7
7
  :wrapper,
8
8
  :rollback,
9
- :condition
9
+ :condition,
10
+ :is_condition_opposite
10
11
 
11
12
  def initialize(position:, wrapper: nil, rollback: nil, condition: nil)
12
13
  @position = position
@@ -57,12 +57,11 @@ module Servactory
57
57
 
58
58
  def unnecessary_for_stage?(stage)
59
59
  condition = stage.condition
60
- # is_condition_opposite = stage.is_condition_opposite
60
+ is_condition_opposite = stage.is_condition_opposite
61
61
 
62
- result = prepare_condition_for(condition) # rubocop:disable Style/RedundantAssignment
62
+ result = prepare_condition_for(condition)
63
63
 
64
- # is_condition_opposite ? !result : result
65
- result
64
+ is_condition_opposite ? !result : result
66
65
  end
67
66
 
68
67
  def unnecessary_for_make?(make_method)
@@ -5,7 +5,6 @@ module Servactory
5
5
  module DSL
6
6
  def self.included(base)
7
7
  base.extend(ClassMethods)
8
- base.include(Workspace)
9
8
  end
10
9
 
11
10
  module ClassMethods
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Servactory
4
4
  module TestKit
5
- class FakeType; end
5
+ class FakeType; end # rubocop:disable Lint/EmptyClass
6
6
  end
7
7
  end
@@ -4,7 +4,7 @@ module Servactory
4
4
  module VERSION
5
5
  MAJOR = 1
6
6
  MINOR = 8
7
- PATCH = 5
7
+ PATCH = 6
8
8
 
9
9
  STRING = [MAJOR, MINOR, PATCH].join(".")
10
10
  end
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.8.5
4
+ version: 1.8.6
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-29 00:00:00.000000000 Z
11
+ date: 2023-07-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -244,10 +244,8 @@ files:
244
244
  - lib/servactory/outputs/collection.rb
245
245
  - lib/servactory/outputs/dsl.rb
246
246
  - lib/servactory/outputs/output.rb
247
- - lib/servactory/outputs/tools/conflicts.rb
248
247
  - lib/servactory/outputs/validations/base.rb
249
248
  - lib/servactory/outputs/validations/type.rb
250
- - lib/servactory/outputs/workspace.rb
251
249
  - lib/servactory/result.rb
252
250
  - lib/servactory/test_kit/fake_type.rb
253
251
  - lib/servactory/test_kit/result.rb
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Servactory
4
- module Outputs
5
- module Tools
6
- class Conflicts
7
- def self.validate!(...)
8
- new(...).validate!
9
- end
10
-
11
- def initialize(context, collection_of_outputs, collection_of_internals)
12
- @context = context
13
- @collection_of_outputs = collection_of_outputs
14
- @collection_of_internals = collection_of_internals
15
- end
16
-
17
- def validate!
18
- return if overlapping_attributes.empty?
19
-
20
- message_text = I18n.t(
21
- "servactory.outputs.tools.conflicts.error",
22
- service_class_name: @context.class.name,
23
- overlapping_attributes: overlapping_attributes.join(", ")
24
- )
25
-
26
- raise Servactory.configuration.output_error_class.new(message: message_text)
27
- end
28
-
29
- private
30
-
31
- def overlapping_attributes
32
- @overlapping_attributes ||=
33
- @collection_of_outputs.names.intersection(@collection_of_internals.names)
34
- end
35
- end
36
- end
37
- end
38
- end
@@ -1,13 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Servactory
4
- module Outputs
5
- module Workspace
6
- def call!(collection_of_internals:, collection_of_outputs:, **)
7
- super
8
-
9
- Tools::Conflicts.validate!(self, collection_of_outputs, collection_of_internals)
10
- end
11
- end
12
- end
13
- end