yaso 1.0.0pre

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 (44) hide show
  1. checksums.yaml +7 -0
  2. data/.rspec +3 -0
  3. data/.rubocop.yml +29 -0
  4. data/.ruby-version +1 -0
  5. data/.simplecov +8 -0
  6. data/Gemfile +5 -0
  7. data/Gemfile.lock +82 -0
  8. data/LICENSE.txt +21 -0
  9. data/README.md +40 -0
  10. data/Rakefile +12 -0
  11. data/benchmark/Gemfile +12 -0
  12. data/benchmark/index.rb +27 -0
  13. data/benchmark/shared/active_interaction_service.rb +4 -0
  14. data/benchmark/shared/callable_step.rb +7 -0
  15. data/benchmark/shared/decouplio_service.rb +4 -0
  16. data/benchmark/shared/interactor_service.rb +9 -0
  17. data/benchmark/shared/pure_service.rb +13 -0
  18. data/benchmark/shared/trailblazer_service.rb +4 -0
  19. data/benchmark/shared/yaso_service.rb +4 -0
  20. data/benchmark/step/active_interaction.rb +89 -0
  21. data/benchmark/step/benchmark.rb +31 -0
  22. data/benchmark/step/decouplio.rb +77 -0
  23. data/benchmark/step/interactor.rb +75 -0
  24. data/benchmark/step/pure.rb +73 -0
  25. data/benchmark/step/trailblazer.rb +84 -0
  26. data/benchmark/step/yaso.rb +67 -0
  27. data/lefthook.yml +5 -0
  28. data/lib/yaso/context.rb +36 -0
  29. data/lib/yaso/errors.rb +23 -0
  30. data/lib/yaso/invokable.rb +29 -0
  31. data/lib/yaso/logic/base.rb +29 -0
  32. data/lib/yaso/logic/classic.rb +56 -0
  33. data/lib/yaso/logic/failure.rb +12 -0
  34. data/lib/yaso/logic/pass.rb +12 -0
  35. data/lib/yaso/logic/step.rb +17 -0
  36. data/lib/yaso/logic/step_builder.rb +67 -0
  37. data/lib/yaso/logic/switch.rb +19 -0
  38. data/lib/yaso/logic/wrap.rb +22 -0
  39. data/lib/yaso/logic.rb +14 -0
  40. data/lib/yaso/service.rb +19 -0
  41. data/lib/yaso/stepable.rb +24 -0
  42. data/lib/yaso/version.rb +5 -0
  43. data/lib/yaso.rb +11 -0
  44. metadata +252 -0
metadata ADDED
@@ -0,0 +1,252 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yaso
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0pre
5
+ platform: ruby
6
+ authors:
7
+ - Artem Shevchenko
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2022-08-20 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
177
+ description: One more Service Object pattern implementation
178
+ email:
179
+ - artemsheva0510@gmail.com
180
+ executables: []
181
+ extensions: []
182
+ extra_rdoc_files: []
183
+ files:
184
+ - ".rspec"
185
+ - ".rubocop.yml"
186
+ - ".ruby-version"
187
+ - ".simplecov"
188
+ - Gemfile
189
+ - Gemfile.lock
190
+ - LICENSE.txt
191
+ - README.md
192
+ - Rakefile
193
+ - benchmark/Gemfile
194
+ - benchmark/index.rb
195
+ - benchmark/shared/active_interaction_service.rb
196
+ - benchmark/shared/callable_step.rb
197
+ - benchmark/shared/decouplio_service.rb
198
+ - benchmark/shared/interactor_service.rb
199
+ - benchmark/shared/pure_service.rb
200
+ - benchmark/shared/trailblazer_service.rb
201
+ - benchmark/shared/yaso_service.rb
202
+ - benchmark/step/active_interaction.rb
203
+ - benchmark/step/benchmark.rb
204
+ - benchmark/step/decouplio.rb
205
+ - benchmark/step/interactor.rb
206
+ - benchmark/step/pure.rb
207
+ - benchmark/step/trailblazer.rb
208
+ - benchmark/step/yaso.rb
209
+ - lefthook.yml
210
+ - lib/yaso.rb
211
+ - lib/yaso/context.rb
212
+ - lib/yaso/errors.rb
213
+ - lib/yaso/invokable.rb
214
+ - lib/yaso/logic.rb
215
+ - lib/yaso/logic/base.rb
216
+ - lib/yaso/logic/classic.rb
217
+ - lib/yaso/logic/failure.rb
218
+ - lib/yaso/logic/pass.rb
219
+ - lib/yaso/logic/step.rb
220
+ - lib/yaso/logic/step_builder.rb
221
+ - lib/yaso/logic/switch.rb
222
+ - lib/yaso/logic/wrap.rb
223
+ - lib/yaso/service.rb
224
+ - lib/yaso/stepable.rb
225
+ - lib/yaso/version.rb
226
+ homepage: https://github.com/Ar2emis/yaso
227
+ licenses:
228
+ - MIT
229
+ metadata:
230
+ homepage_uri: https://github.com/Ar2emis/yaso
231
+ source_code_uri: https://github.com/Ar2emis/yaso
232
+ rubygems_mfa_required: 'true'
233
+ post_install_message:
234
+ rdoc_options: []
235
+ require_paths:
236
+ - lib
237
+ required_ruby_version: !ruby/object:Gem::Requirement
238
+ requirements:
239
+ - - ">="
240
+ - !ruby/object:Gem::Version
241
+ version: '2.5'
242
+ required_rubygems_version: !ruby/object:Gem::Requirement
243
+ requirements:
244
+ - - ">"
245
+ - !ruby/object:Gem::Version
246
+ version: 1.3.1
247
+ requirements: []
248
+ rubygems_version: 3.3.7
249
+ signing_key:
250
+ specification_version: 4
251
+ summary: Yet Another Service Object
252
+ test_files: []