yaso 1.3.2 → 1.4.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.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +18 -25
  3. data/.ruby-version +1 -1
  4. data/.simplecov +2 -4
  5. data/.tool-versions +1 -0
  6. data/Gemfile +21 -3
  7. data/README.md +12 -8
  8. data/Rakefile +3 -5
  9. data/benchmark/Gemfile +12 -21
  10. data/benchmark/gemfiles/ruby_2/Gemfile +1 -0
  11. data/benchmark/gemfiles/ruby_3/Gemfile +1 -0
  12. data/benchmark/index.rb +31 -30
  13. data/benchmark/shared/active_interaction_service.rb +0 -2
  14. data/benchmark/shared/callable_step.rb +0 -2
  15. data/benchmark/shared/decouplio_service.rb +0 -2
  16. data/benchmark/shared/interactor_service.rb +0 -2
  17. data/benchmark/shared/pure_service.rb +0 -2
  18. data/benchmark/shared/simple_command_service.rb +0 -2
  19. data/benchmark/shared/simple_logic_step_service.rb +2 -0
  20. data/benchmark/shared/trailblazer_service.rb +0 -2
  21. data/benchmark/shared/yaso_service.rb +0 -2
  22. data/benchmark/step/active_interaction.rb +0 -2
  23. data/benchmark/step/benchmark.rb +22 -21
  24. data/benchmark/step/decouplio.rb +1 -3
  25. data/benchmark/step/dry_transaction.rb +10 -12
  26. data/benchmark/step/interactor.rb +9 -11
  27. data/benchmark/step/pure.rb +0 -2
  28. data/benchmark/step/simple_command.rb +0 -2
  29. data/benchmark/step/simple_logic_step.rb +71 -0
  30. data/benchmark/step/trailblazer.rb +1 -3
  31. data/benchmark/step/yaso.rb +0 -2
  32. data/docker-compose.yml +2 -0
  33. data/gemfiles/ruby_2/Gemfile +8 -0
  34. data/gemfiles/ruby_3/Gemfile +8 -0
  35. data/gemfiles/ruby_3_0/Gemfile +8 -0
  36. data/lib/yaso/errors.rb +0 -2
  37. data/lib/yaso/{logic → flows}/classic.rb +6 -8
  38. data/lib/yaso/{logic → flows}/rollback.rb +7 -9
  39. data/lib/yaso/flows.rb +11 -0
  40. data/lib/yaso/invocable.rb +16 -14
  41. data/lib/yaso/service.rb +2 -4
  42. data/lib/yaso/step_builder.rb +63 -0
  43. data/lib/yaso/stepable.rb +1 -3
  44. data/lib/yaso/{logic → steps}/base.rb +1 -3
  45. data/lib/yaso/{logic → steps}/failure.rb +1 -3
  46. data/lib/yaso/{logic → steps}/pass.rb +1 -3
  47. data/lib/yaso/{logic → steps}/step.rb +1 -3
  48. data/lib/yaso/{logic → steps}/switch.rb +1 -3
  49. data/lib/yaso/{logic → steps}/wrap.rb +1 -3
  50. data/lib/yaso/steps.rb +11 -0
  51. data/lib/yaso/version.rb +1 -3
  52. data/lib/yaso.rb +8 -8
  53. metadata +28 -187
  54. data/Gemfile.lock +0 -83
  55. data/lib/yaso/logic/step_builder.rb +0 -63
  56. data/lib/yaso/logic.rb +0 -20
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Flows
5
3
  class Classic
6
4
  def self.call(klass, steps)
7
5
  new(klass, steps).call
@@ -14,7 +12,7 @@ module Yaso
14
12
  end
15
13
 
16
14
  def call
17
- logicals.each_with_index { |step, i| step.is_a?(Failure) ? link_failure(step, i) : link_step(step, i) }
15
+ logicals.each_with_index { |step, i| step.is_a?(Steps::Failure) ? link_failure(step, i) : link_step(step, i) }
18
16
  logicals.first
19
17
  end
20
18
 
@@ -25,9 +23,9 @@ module Yaso
25
23
  end
26
24
 
27
25
  def link_step(step, index)
28
- next_step = logicals[index.next..-1].detect { |next_node| !next_node.is_a?(Failure) }
26
+ next_step = logicals[index.next..].detect { |next_node| !next_node.is_a?(Steps::Failure) }
29
27
  step.add_next_step(step.on_success ? find_step(step.on_success) : next_step)
30
- step.add_failure(next_step) if step.is_a?(Pass)
28
+ step.add_failure(next_step) if step.is_a?(Steps::Pass)
31
29
  step.add_failure(find_step(step.on_failure)) if step.on_failure
32
30
  end
33
31
 
@@ -39,8 +37,8 @@ module Yaso
39
37
 
40
38
  def link_previous_steps(failure, index)
41
39
  logicals[0...index].reverse_each do |previous_step|
42
- previous_step.add_failure(failure) unless previous_step.on_failure || previous_step.is_a?(Pass)
43
- next unless previous_step.is_a?(Failure)
40
+ previous_step.add_failure(failure) unless previous_step.on_failure || previous_step.is_a?(Steps::Pass)
41
+ next unless previous_step.is_a?(Steps::Failure)
44
42
 
45
43
  previous_step.add_next_step(failure) unless previous_step.on_success
46
44
  break
@@ -1,11 +1,9 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Flows
5
3
  class Rollback < Classic
6
4
  def call
7
5
  super
8
- logicals.detect { |step| !step.is_a?(Failure) }
6
+ logicals.detect { |step| !step.is_a?(Steps::Failure) }
9
7
  end
10
8
 
11
9
  private
@@ -13,9 +11,9 @@ module Yaso
13
11
  def link_step(step, index)
14
12
  next_success = step.on_success ? find_step(step.on_success) : next_step(index)
15
13
  next_failure = if step.on_failure then find_step(step.on_failure)
16
- else
17
- step.is_a?(Pass) ? next_success : previous_failure(index)
18
- end
14
+ else
15
+ step.is_a?(Steps::Pass) ? next_success : previous_failure(index)
16
+ end
19
17
 
20
18
  step.add_next_step(next_success)
21
19
  step.add_failure(next_failure)
@@ -29,11 +27,11 @@ module Yaso
29
27
  end
30
28
 
31
29
  def next_step(index)
32
- logicals[index.next..-1].detect { |next_node| !next_node.is_a?(Failure) }
30
+ logicals[index.next..].detect { |next_node| !next_node.is_a?(Steps::Failure) }
33
31
  end
34
32
 
35
33
  def previous_failure(index)
36
- logicals[0...index].reverse_each.detect { |previous_step| previous_step.is_a?(Failure) }
34
+ logicals[0...index].reverse_each.detect { |previous_step| previous_step.is_a?(Steps::Failure) }
37
35
  end
38
36
  end
39
37
  end
data/lib/yaso/flows.rb ADDED
@@ -0,0 +1,11 @@
1
+ require_relative "flows/classic"
2
+ require_relative "flows/rollback"
3
+
4
+ module Yaso
5
+ module Flows
6
+ MAP = {
7
+ classic: Classic,
8
+ rollback: Rollback
9
+ }
10
+ end
11
+ end
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
2
  class Invocable
5
3
  METHOD = :method
@@ -10,10 +8,10 @@ module Yaso
10
8
  def call(object, options: {}, with_block: false, **)
11
9
  type = object_type(object)
12
10
  invocable = case type
13
- when YASO then proc { |context| object.call(context).success? }
14
- when CALLABLE then callable_invocable(object, options, with_block: with_block)
15
- else method_invocable(object, with_block: with_block)
16
- end
11
+ when YASO then proc { |context| object.call(context).success? }
12
+ when CALLABLE then callable_invocable(object, options, with_block: with_block)
13
+ else method_invocable(object, with_block: with_block)
14
+ end
17
15
  [type, invocable]
18
16
  end
19
17
 
@@ -22,7 +20,7 @@ module Yaso
22
20
  def object_type(object)
23
21
  return Invocable::METHOD unless object.is_a?(Class)
24
22
 
25
- object < ::Yaso::Service ? Invocable::YASO : Invocable::CALLABLE
23
+ (object < ::Yaso::Service) ? Invocable::YASO : Invocable::CALLABLE
26
24
  end
27
25
 
28
26
  def callable_invocable(object, options, with_block:)
@@ -32,14 +30,18 @@ module Yaso
32
30
  end
33
31
 
34
32
  def method_invocable(object, with_block:)
35
- if with_block
36
- return instance_eval <<-RUBY, __FILE__, __LINE__ + 1
37
- proc { |context, instance, &block| # proc { |context, instance, &block|
38
- instance.#{object}(context, **context, &block) # instance.<method_name>(context, **context, &block)
39
- } # }
40
- RUBY
41
- end
33
+ with_block ? method_invocable_with_block(object) : method_invocable_without_block(object)
34
+ end
35
+
36
+ def method_invocable_with_block(object)
37
+ instance_eval <<-RUBY, __FILE__, __LINE__ + 1
38
+ proc { |context, instance, &block| # proc { |context, instance, &block|
39
+ instance.#{object}(context, **context, &block) # instance.<method_name>(context, **context, &block)
40
+ } # }
41
+ RUBY
42
+ end
42
43
 
44
+ def method_invocable_without_block(object)
43
45
  instance_eval <<-RUBY, __FILE__, __LINE__ + 1
44
46
  proc { |context, instance| # proc { |context, instance|
45
47
  instance.#{object}(context, **context) # instance.<method_name>(context, **context)
data/lib/yaso/service.rb CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
2
  class Service
5
3
  extend Stepable
@@ -45,10 +43,10 @@ module Yaso
45
43
  end
46
44
 
47
45
  def flow(name = nil)
48
- @flow ||= Logic::FLOWS[:classic] if self == Yaso::Service
46
+ @flow ||= Flows::MAP[:classic] if self == Yaso::Service
49
47
  return @flow || Yaso::Service.flow if name.nil?
50
48
 
51
- @flow = Logic::FLOWS[name] || raise(UnknownFlowError.new(self, name))
49
+ @flow = Flows::MAP[name] || raise(UnknownFlowError.new(self, name))
52
50
  end
53
51
  end
54
52
  end
@@ -0,0 +1,63 @@
1
+ module Yaso
2
+ class StepBuilder
3
+ CATEGORIES = {
4
+ step: Steps::Step,
5
+ pass: Steps::Pass,
6
+ failure: Steps::Failure,
7
+ wrap: Steps::Wrap,
8
+ switch: Steps::Switch
9
+ }.freeze
10
+
11
+ def initialize(klass)
12
+ @klass = klass
13
+ end
14
+
15
+ def call(object:, category:, block:, **opts)
16
+ logic_class = CATEGORIES[category]
17
+ invocable_type, invocable = Invocable.call(object, with_block: logic_class == Steps::Wrap, **opts)
18
+ if invocable_type == Invocable::METHOD
19
+ opts[:name] = if logic_class == Steps::Switch
20
+ build_switch(object, **opts, &block)
21
+ else
22
+ build_method(object, &block)
23
+ end
24
+ end
25
+ opts[:wrapper] = build_wrapper(&block) if logic_class == Steps::Wrap
26
+ logic_class.new(invocable: invocable, **opts)
27
+ end
28
+
29
+ private
30
+
31
+ def build_switch(object, options:, **, &block)
32
+ if block.nil?
33
+ key = options[:key]
34
+ cases = options[:cases]
35
+ block = ->(ctx, **) { cases[ctx[key]] }
36
+ end
37
+ build_method(object, &block)
38
+ end
39
+
40
+ def build_method(name, &block)
41
+ return name if @klass.method_defined?(name)
42
+ raise StepIsNotImplementedError.new(@klass, name) unless block
43
+
44
+ @klass.define_method(name, &block)
45
+ end
46
+
47
+ def build_wrapper(&block)
48
+ wrapper_class = Class.new { extend Stepable }
49
+ build_wrapper_methods(wrapper_class, @klass)
50
+ wrapper_class.instance_exec(&block)
51
+ wrapper_class
52
+ end
53
+
54
+ def build_wrapper_methods(wrapper_class, service_class)
55
+ wrapper_class.define_singleton_method(:call) do |context, instance|
56
+ @entry ||= service_class.flow.call(service_class, steps)
57
+ step = @entry
58
+ step = step.call(context, instance) while step
59
+ instance
60
+ end
61
+ end
62
+ end
63
+ end
data/lib/yaso/stepable.rb CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
2
  module Stepable
5
3
  def steps
@@ -16,7 +14,7 @@ module Yaso
16
14
  end
17
15
 
18
16
  def failure(object, **options, &block)
19
- raise InvalidFirstStepError, :failure if flow == Logic::Classic && steps.empty?
17
+ raise InvalidFirstStepError, :failure if flow == Flows::Classic && steps.empty?
20
18
 
21
19
  steps << {
22
20
  object: object, category: :failure, fast: options.delete(:fast), on_success: options.delete(:on_success),
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Steps
5
3
  class Base
6
4
  attr_reader :name, :on_success, :on_failure
7
5
 
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Steps
5
3
  class Failure < Base
6
4
  def call(context, instance)
7
5
  instance.success = false
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Steps
5
3
  class Pass < Base
6
4
  def call(context, instance)
7
5
  instance.success = true
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Steps
5
3
  class Step < Base
6
4
  def call(context, instance)
7
5
  instance.success = true
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Steps
5
3
  class Switch < Base
6
4
  def call(context, instance)
7
5
  instance.success = true
@@ -1,7 +1,5 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- module Logic
2
+ module Steps
5
3
  class Wrap < Base
6
4
  def initialize(wrapper:, **options)
7
5
  super(**options)
data/lib/yaso/steps.rb ADDED
@@ -0,0 +1,11 @@
1
+ require_relative "steps/base"
2
+ require_relative "steps/step"
3
+ require_relative "steps/pass"
4
+ require_relative "steps/failure"
5
+ require_relative "steps/wrap"
6
+ require_relative "steps/switch"
7
+
8
+ module Yaso
9
+ module Steps
10
+ end
11
+ end
data/lib/yaso/version.rb CHANGED
@@ -1,5 +1,3 @@
1
- # frozen_string_literal: true
2
-
3
1
  module Yaso
4
- VERSION = '1.3.2'
2
+ VERSION = "1.4.0"
5
3
  end
data/lib/yaso.rb CHANGED
@@ -1,10 +1,10 @@
1
- # frozen_string_literal: true
2
-
3
- require_relative 'yaso/version'
4
- require_relative 'yaso/errors'
5
- require_relative 'yaso/invocable'
6
- require_relative 'yaso/stepable'
7
- require_relative 'yaso/logic'
8
- require_relative 'yaso/service'
1
+ require_relative "yaso/version"
2
+ require_relative "yaso/errors"
3
+ require_relative "yaso/invocable"
4
+ require_relative "yaso/stepable"
5
+ require_relative "yaso/steps"
6
+ require_relative "yaso/step_builder"
7
+ require_relative "yaso/flows"
8
+ require_relative "yaso/service"
9
9
 
10
10
  module Yaso; end
metadata CHANGED
@@ -1,179 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yaso
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.4.0
5
5
  platform: ruby
6
6
  authors:
7
- - Artem Shevchenko
8
- autorequire:
7
+ - ar2em1s
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2023-04-06 00:00:00.000000000 Z
12
- dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: ffaker
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: 2.21.0
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - "~>"
25
- - !ruby/object:Gem::Version
26
- version: 2.21.0
27
- - !ruby/object:Gem::Dependency
28
- name: lefthook
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: 1.0.5
34
- type: :development
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: 1.0.5
41
- - !ruby/object:Gem::Dependency
42
- name: pry
43
- requirement: !ruby/object:Gem::Requirement
44
- requirements:
45
- - - "~>"
46
- - !ruby/object:Gem::Version
47
- version: 0.14.1
48
- type: :development
49
- prerelease: false
50
- version_requirements: !ruby/object:Gem::Requirement
51
- requirements:
52
- - - "~>"
53
- - !ruby/object:Gem::Version
54
- version: 0.14.1
55
- - !ruby/object:Gem::Dependency
56
- name: rake
57
- requirement: !ruby/object:Gem::Requirement
58
- requirements:
59
- - - "~>"
60
- - !ruby/object:Gem::Version
61
- version: 13.0.6
62
- type: :development
63
- prerelease: false
64
- version_requirements: !ruby/object:Gem::Requirement
65
- requirements:
66
- - - "~>"
67
- - !ruby/object:Gem::Version
68
- version: 13.0.6
69
- - !ruby/object:Gem::Dependency
70
- name: rspec
71
- requirement: !ruby/object:Gem::Requirement
72
- requirements:
73
- - - "~>"
74
- - !ruby/object:Gem::Version
75
- version: 3.11.0
76
- type: :development
77
- prerelease: false
78
- version_requirements: !ruby/object:Gem::Requirement
79
- requirements:
80
- - - "~>"
81
- - !ruby/object:Gem::Version
82
- version: 3.11.0
83
- - !ruby/object:Gem::Dependency
84
- name: rubocop
85
- requirement: !ruby/object:Gem::Requirement
86
- requirements:
87
- - - "<"
88
- - !ruby/object:Gem::Version
89
- version: 1.29.0
90
- - - ">="
91
- - !ruby/object:Gem::Version
92
- version: 1.28.2
93
- type: :development
94
- prerelease: false
95
- version_requirements: !ruby/object:Gem::Requirement
96
- requirements:
97
- - - "<"
98
- - !ruby/object:Gem::Version
99
- version: 1.29.0
100
- - - ">="
101
- - !ruby/object:Gem::Version
102
- version: 1.28.2
103
- - !ruby/object:Gem::Dependency
104
- name: rubocop-ast
105
- requirement: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "<"
108
- - !ruby/object:Gem::Version
109
- version: 1.18.0
110
- - - ">="
111
- - !ruby/object:Gem::Version
112
- version: 1.17.0
113
- type: :development
114
- prerelease: false
115
- version_requirements: !ruby/object:Gem::Requirement
116
- requirements:
117
- - - "<"
118
- - !ruby/object:Gem::Version
119
- version: 1.18.0
120
- - - ">="
121
- - !ruby/object:Gem::Version
122
- version: 1.17.0
123
- - !ruby/object:Gem::Dependency
124
- name: rubocop-performance
125
- requirement: !ruby/object:Gem::Requirement
126
- requirements:
127
- - - "<"
128
- - !ruby/object:Gem::Version
129
- version: 1.14.0
130
- - - ">="
131
- - !ruby/object:Gem::Version
132
- version: 1.13.3
133
- type: :development
134
- prerelease: false
135
- version_requirements: !ruby/object:Gem::Requirement
136
- requirements:
137
- - - "<"
138
- - !ruby/object:Gem::Version
139
- version: 1.14.0
140
- - - ">="
141
- - !ruby/object:Gem::Version
142
- version: 1.13.3
143
- - !ruby/object:Gem::Dependency
144
- name: rubocop-rspec
145
- requirement: !ruby/object:Gem::Requirement
146
- requirements:
147
- - - "<"
148
- - !ruby/object:Gem::Version
149
- version: 2.11.0
150
- - - ">="
151
- - !ruby/object:Gem::Version
152
- version: 2.10.0
153
- type: :development
154
- prerelease: false
155
- version_requirements: !ruby/object:Gem::Requirement
156
- requirements:
157
- - - "<"
158
- - !ruby/object:Gem::Version
159
- version: 2.11.0
160
- - - ">="
161
- - !ruby/object:Gem::Version
162
- version: 2.10.0
163
- - !ruby/object:Gem::Dependency
164
- name: simplecov
165
- requirement: !ruby/object:Gem::Requirement
166
- requirements:
167
- - - "~>"
168
- - !ruby/object:Gem::Version
169
- version: 0.21.2
170
- type: :development
171
- prerelease: false
172
- version_requirements: !ruby/object:Gem::Requirement
173
- requirements:
174
- - - "~>"
175
- - !ruby/object:Gem::Version
176
- version: 0.21.2
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
+ dependencies: []
177
12
  description: One more Service Object pattern implementation
178
13
  email:
179
14
  - artemsheva0510@gmail.com
@@ -185,12 +20,14 @@ files:
185
20
  - ".rubocop.yml"
186
21
  - ".ruby-version"
187
22
  - ".simplecov"
23
+ - ".tool-versions"
188
24
  - Gemfile
189
- - Gemfile.lock
190
25
  - LICENSE.txt
191
26
  - README.md
192
27
  - Rakefile
193
28
  - benchmark/Gemfile
29
+ - benchmark/gemfiles/ruby_2/Gemfile
30
+ - benchmark/gemfiles/ruby_3/Gemfile
194
31
  - benchmark/index.rb
195
32
  - benchmark/shared/active_interaction_service.rb
196
33
  - benchmark/shared/callable_step.rb
@@ -198,6 +35,7 @@ files:
198
35
  - benchmark/shared/interactor_service.rb
199
36
  - benchmark/shared/pure_service.rb
200
37
  - benchmark/shared/simple_command_service.rb
38
+ - benchmark/shared/simple_logic_step_service.rb
201
39
  - benchmark/shared/trailblazer_service.rb
202
40
  - benchmark/shared/yaso_service.rb
203
41
  - benchmark/step/active_interaction.rb
@@ -207,36 +45,40 @@ files:
207
45
  - benchmark/step/interactor.rb
208
46
  - benchmark/step/pure.rb
209
47
  - benchmark/step/simple_command.rb
48
+ - benchmark/step/simple_logic_step.rb
210
49
  - benchmark/step/trailblazer.rb
211
50
  - benchmark/step/yaso.rb
212
51
  - docker-compose.yml
213
52
  - docker/Dockerfile
214
53
  - docker/entrypoint.sh
54
+ - gemfiles/ruby_2/Gemfile
55
+ - gemfiles/ruby_3/Gemfile
56
+ - gemfiles/ruby_3_0/Gemfile
215
57
  - lefthook.yml
216
58
  - lib/yaso.rb
217
59
  - lib/yaso/errors.rb
60
+ - lib/yaso/flows.rb
61
+ - lib/yaso/flows/classic.rb
62
+ - lib/yaso/flows/rollback.rb
218
63
  - lib/yaso/invocable.rb
219
- - lib/yaso/logic.rb
220
- - lib/yaso/logic/base.rb
221
- - lib/yaso/logic/classic.rb
222
- - lib/yaso/logic/failure.rb
223
- - lib/yaso/logic/pass.rb
224
- - lib/yaso/logic/rollback.rb
225
- - lib/yaso/logic/step.rb
226
- - lib/yaso/logic/step_builder.rb
227
- - lib/yaso/logic/switch.rb
228
- - lib/yaso/logic/wrap.rb
229
64
  - lib/yaso/service.rb
65
+ - lib/yaso/step_builder.rb
230
66
  - lib/yaso/stepable.rb
67
+ - lib/yaso/steps.rb
68
+ - lib/yaso/steps/base.rb
69
+ - lib/yaso/steps/failure.rb
70
+ - lib/yaso/steps/pass.rb
71
+ - lib/yaso/steps/step.rb
72
+ - lib/yaso/steps/switch.rb
73
+ - lib/yaso/steps/wrap.rb
231
74
  - lib/yaso/version.rb
232
- homepage: https://github.com/Ar2emis/yaso
75
+ homepage: https://github.com/ar2em1s/yaso
233
76
  licenses:
234
77
  - MIT
235
78
  metadata:
236
- homepage_uri: https://github.com/Ar2emis/yaso
237
- source_code_uri: https://github.com/Ar2emis/yaso
79
+ homepage_uri: https://github.com/ar2em1s/yaso
80
+ source_code_uri: https://github.com/ar2em1s/yaso
238
81
  rubygems_mfa_required: 'true'
239
- post_install_message:
240
82
  rdoc_options: []
241
83
  require_paths:
242
84
  - lib
@@ -244,15 +86,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
244
86
  requirements:
245
87
  - - ">="
246
88
  - !ruby/object:Gem::Version
247
- version: '2.5'
89
+ version: '2.7'
248
90
  required_rubygems_version: !ruby/object:Gem::Requirement
249
91
  requirements:
250
92
  - - ">="
251
93
  - !ruby/object:Gem::Version
252
94
  version: '0'
253
95
  requirements: []
254
- rubygems_version: 3.3.26
255
- signing_key:
96
+ rubygems_version: 3.7.2
256
97
  specification_version: 4
257
98
  summary: Yet Another Service Object
258
99
  test_files: []