yaso 1.0.0pre

Sign up to get free protection for your applications and to get access to all the features.
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: []