servactory 1.8.5 → 1.8.6

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 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