convenient_service 0.20.0 → 0.21.1

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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +8 -4
  3. data/lib/convenient_service/aliases.rb +113 -1
  4. data/lib/convenient_service/common/plugins/aliases.rb +69 -0
  5. data/lib/convenient_service/common/plugins/can_have_callbacks/entities/type_collection.rb +2 -2
  6. data/lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb +8 -8
  7. data/lib/convenient_service/common.rb +14 -0
  8. data/lib/convenient_service/config.rb +8 -0
  9. data/lib/convenient_service/core/aliases.rb +84 -0
  10. data/lib/convenient_service/dependencies/built_in.rb +15 -1
  11. data/lib/convenient_service/dependencies/only_queries.rb +0 -6
  12. data/lib/convenient_service/dependencies/queries/gems/minitest.rb +55 -0
  13. data/lib/convenient_service/dependencies/queries/gems/rspec.rb +1 -1
  14. data/lib/convenient_service/dependencies/queries/gems.rb +2 -0
  15. data/lib/convenient_service/dependencies/queries/ruby.rb +2 -2
  16. data/lib/convenient_service/dependencies/queries.rb +67 -16
  17. data/lib/convenient_service/dependencies.rb +6 -6
  18. data/lib/convenient_service/extras/alias.rb +4 -1
  19. data/lib/convenient_service/feature/configs/standard.rb +34 -13
  20. data/lib/convenient_service/feature/core.rb +41 -0
  21. data/lib/convenient_service/feature/plugins/aliases.rb +29 -0
  22. data/lib/convenient_service/feature/plugins/can_have_rspec_stubbed_entries/concern.rb +34 -0
  23. data/lib/convenient_service/{rspec/helpers/classes/stub_entry/entities.rb → feature/plugins/can_have_rspec_stubbed_entries.rb} +1 -2
  24. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/delete_feature_stubbed_entry.rb +71 -0
  25. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/fetch_all_features_stubbed_entries_cache.rb +16 -2
  26. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/fetch_feature_stubbed_entries_cache.rb +1 -1
  27. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands.rb +2 -0
  28. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/concern.rb +23 -0
  29. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/feature_stub.rb +123 -0
  30. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/feature_unstub.rb +122 -0
  31. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/value_mock.rb +118 -0
  32. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/value_unmock.rb +88 -0
  33. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities.rb +12 -0
  34. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries.rb +1 -14
  35. data/lib/convenient_service/feature/plugins/has_amazing_print_inspect/concern.rb +34 -0
  36. data/lib/convenient_service/feature/{configs/standard/commands.rb → plugins/has_amazing_print_inspect.rb} +1 -2
  37. data/lib/convenient_service/feature/plugins/has_awesome_print_inspect/concern.rb +34 -0
  38. data/lib/convenient_service/{rspec/helpers/classes/stub_service/entities.rb → feature/plugins/has_awesome_print_inspect.rb} +1 -2
  39. data/lib/convenient_service/feature/plugins/has_inspect/concern.rb +27 -0
  40. data/lib/convenient_service/{service/configs/standard/commands.rb → feature/plugins/has_inspect.rb} +1 -2
  41. data/lib/convenient_service/feature/plugins.rb +1 -0
  42. data/lib/convenient_service/feature.rb +16 -0
  43. data/lib/convenient_service/logger.rb +11 -12
  44. data/lib/convenient_service/rspec/helpers/classes.rb +0 -2
  45. data/lib/convenient_service/rspec/helpers/stub_entry.rb +23 -5
  46. data/lib/convenient_service/rspec/helpers/stub_service.rb +79 -11
  47. data/lib/convenient_service/rspec/matchers/classes/cache_its_value.rb +2 -1
  48. data/lib/convenient_service/rspec/matchers/classes/delegate_to.rb +3 -5
  49. data/lib/convenient_service/rspec/matchers/classes/include_config.rb +4 -0
  50. data/lib/convenient_service/service/configs/aliases.rb +42 -0
  51. data/lib/convenient_service/service/configs/standard/aliases.rb +24 -0
  52. data/lib/convenient_service/service/configs/standard/v1.rb +17 -0
  53. data/lib/convenient_service/service/configs/standard.rb +50 -25
  54. data/lib/convenient_service/service/core.rb +39 -0
  55. data/lib/convenient_service/service/plugins/aliases.rb +48 -0
  56. data/lib/convenient_service/service/plugins/can_have_rollbacks/middleware.rb +33 -2
  57. data/lib/convenient_service/service/plugins/can_have_rspec_stubbed_results/concern.rb +34 -0
  58. data/lib/convenient_service/service/plugins/can_have_rspec_stubbed_results.rb +8 -0
  59. data/lib/convenient_service/service/plugins/can_have_stubbed_results/commands/delete_service_stubbed_result.rb +63 -0
  60. data/lib/convenient_service/service/plugins/can_have_stubbed_results/commands/fetch_all_services_stubbed_results_cache.rb +15 -10
  61. data/lib/convenient_service/service/plugins/can_have_stubbed_results/commands/fetch_service_stubbed_results_cache.rb +3 -3
  62. data/lib/convenient_service/service/plugins/can_have_stubbed_results/commands.rb +2 -0
  63. data/lib/convenient_service/service/plugins/can_have_stubbed_results/concern.rb +25 -0
  64. data/lib/convenient_service/service/plugins/can_have_stubbed_results/entities/result_mock.rb +254 -0
  65. data/lib/convenient_service/service/plugins/can_have_stubbed_results/entities/result_unmock.rb +82 -0
  66. data/lib/convenient_service/service/plugins/can_have_stubbed_results/entities/service_stub.rb +135 -0
  67. data/lib/convenient_service/service/plugins/can_have_stubbed_results/entities/service_unstub.rb +113 -0
  68. data/lib/convenient_service/service/plugins/can_have_stubbed_results/entities.rb +12 -0
  69. data/lib/convenient_service/service/plugins/can_have_stubbed_results.rb +1 -14
  70. data/lib/convenient_service/service/plugins/forbids_convenient_service_entities_as_constructor_arguments/exceptions.rb +84 -0
  71. data/lib/convenient_service/service/plugins/forbids_convenient_service_entities_as_constructor_arguments/middleware.rb +84 -32
  72. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/concern.rb +42 -2
  73. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_called/exceptions.rb +3 -2
  74. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern/instance_methods.rb +5 -0
  75. data/lib/convenient_service/service.rb +16 -0
  76. data/lib/convenient_service/specification.rb +42 -12
  77. data/lib/convenient_service/support/backtrace_cleaner.rb +6 -7
  78. data/lib/convenient_service/support/cache/entities/caches/array.rb +5 -1
  79. data/lib/convenient_service/support/cache/entities/caches/hash.rb +5 -1
  80. data/lib/convenient_service/support/middleware/stack_builder/entities/builders/custom.rb +4 -0
  81. data/lib/convenient_service/support/middleware/stack_builder/entities/builders/ruby_middleware.rb +4 -0
  82. data/lib/convenient_service/support/unique_value.rb +4 -1
  83. data/lib/convenient_service/support.rb +13 -0
  84. data/lib/convenient_service/utils/array/find_last.rb +18 -9
  85. data/lib/convenient_service/utils/class/display_name.rb +9 -9
  86. data/lib/convenient_service/utils/enumerable/find_last.rb +48 -0
  87. data/lib/convenient_service/utils/enumerable.rb +20 -0
  88. data/lib/convenient_service/utils/hash/assert_valid_keys.rb +4 -4
  89. data/lib/convenient_service/utils/hash/except.rb +5 -4
  90. data/lib/convenient_service/utils/hash/triple_equality_compare.rb +8 -8
  91. data/lib/convenient_service/utils/kernel/silence_warnings.rb +4 -4
  92. data/lib/convenient_service/utils/module/fetch_own_const.rb +36 -31
  93. data/lib/convenient_service/utils/module/get_namespace.rb +26 -21
  94. data/lib/convenient_service/utils/module/get_own_const.rb +21 -16
  95. data/lib/convenient_service/utils/object/clamp_class.rb +50 -47
  96. data/lib/convenient_service/utils/object/duck_class.rb +84 -81
  97. data/lib/convenient_service/utils/object/get_own_method.rb +1 -1
  98. data/lib/convenient_service/utils/object/instance_variable_delete.rb +0 -3
  99. data/lib/convenient_service/utils/object/instance_variable_fetch.rb +0 -3
  100. data/lib/convenient_service/utils/object/memoize_including_falsy_values.rb +0 -3
  101. data/lib/convenient_service/utils/object/resolve_type.rb +13 -11
  102. data/lib/convenient_service/utils/object/safe_send.rb +2 -0
  103. data/lib/convenient_service/utils/string/enclose.rb +11 -11
  104. data/lib/convenient_service/utils/string/tab.rb +60 -0
  105. data/lib/convenient_service/utils/string.rb +5 -0
  106. data/lib/convenient_service/utils.rb +9 -0
  107. data/lib/convenient_service/version.rb +8 -1
  108. data/lib/convenient_service.rb +232 -14
  109. metadata +37 -754
  110. data/lib/convenient_service/feature/configs/standard/commands/is_feature.rb +0 -39
  111. data/lib/convenient_service/feature/configs/standard/commands/is_feature_class.rb +0 -41
  112. data/lib/convenient_service/rspec/helpers/classes/stub_entry/constants.rb +0 -25
  113. data/lib/convenient_service/rspec/helpers/classes/stub_entry/entities/stubbed_feature.rb +0 -128
  114. data/lib/convenient_service/rspec/helpers/classes/stub_entry/entities/value_spec.rb +0 -79
  115. data/lib/convenient_service/rspec/helpers/classes/stub_entry.rb +0 -48
  116. data/lib/convenient_service/rspec/helpers/classes/stub_service/constants.rb +0 -25
  117. data/lib/convenient_service/rspec/helpers/classes/stub_service/entities/result_spec.rb +0 -211
  118. data/lib/convenient_service/rspec/helpers/classes/stub_service/entities/stubbed_service.rb +0 -119
  119. data/lib/convenient_service/rspec/helpers/classes/stub_service.rb +0 -43
  120. data/lib/convenient_service/service/configs/standard/commands/is_service.rb +0 -39
  121. data/lib/convenient_service/service/configs/standard/commands/is_service_class.rb +0 -41
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: convenient_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.20.0
4
+ version: 0.21.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marian Kostyk
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-12-06 00:00:00.000000000 Z
10
+ date: 1980-01-02 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: logger
@@ -24,752 +24,25 @@ dependencies:
24
24
  - !ruby/object:Gem::Version
25
25
  version: '0'
26
26
  - !ruby/object:Gem::Dependency
27
- name: amazing_print
28
- requirement: !ruby/object:Gem::Requirement
29
- requirements:
30
- - - "~>"
31
- - !ruby/object:Gem::Version
32
- version: 1.5.0
33
- type: :development
34
- prerelease: false
35
- version_requirements: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 1.5.0
40
- - !ruby/object:Gem::Dependency
41
- name: appraisal
42
- requirement: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: 2.5.0
47
- type: :development
48
- prerelease: false
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: 2.5.0
54
- - !ruby/object:Gem::Dependency
55
- name: awesome_print
56
- requirement: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: 1.9.2
61
- type: :development
62
- prerelease: false
63
- version_requirements: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: 1.9.2
68
- - !ruby/object:Gem::Dependency
69
- name: base64
70
- requirement: !ruby/object:Gem::Requirement
71
- requirements:
72
- - - ">="
73
- - !ruby/object:Gem::Version
74
- version: '0'
75
- type: :development
76
- prerelease: false
77
- version_requirements: !ruby/object:Gem::Requirement
78
- requirements:
79
- - - ">="
80
- - !ruby/object:Gem::Version
81
- version: '0'
82
- - !ruby/object:Gem::Dependency
83
- name: benchmark-ips
84
- requirement: !ruby/object:Gem::Requirement
85
- requirements:
86
- - - "~>"
87
- - !ruby/object:Gem::Version
88
- version: 2.12.0
89
- type: :development
90
- prerelease: false
91
- version_requirements: !ruby/object:Gem::Requirement
92
- requirements:
93
- - - "~>"
94
- - !ruby/object:Gem::Version
95
- version: 2.12.0
96
- - !ruby/object:Gem::Dependency
97
- name: benchmark-memory
98
- requirement: !ruby/object:Gem::Requirement
99
- requirements:
100
- - - "~>"
101
- - !ruby/object:Gem::Version
102
- version: 0.2.0
103
- type: :development
104
- prerelease: false
105
- version_requirements: !ruby/object:Gem::Requirement
106
- requirements:
107
- - - "~>"
108
- - !ruby/object:Gem::Version
109
- version: 0.2.0
110
- - !ruby/object:Gem::Dependency
111
- name: break
112
- requirement: !ruby/object:Gem::Requirement
113
- requirements:
114
- - - ">="
115
- - !ruby/object:Gem::Version
116
- version: '0'
117
- type: :development
118
- prerelease: false
119
- version_requirements: !ruby/object:Gem::Requirement
120
- requirements:
121
- - - ">="
122
- - !ruby/object:Gem::Version
123
- version: '0'
124
- - !ruby/object:Gem::Dependency
125
- name: byebug
126
- requirement: !ruby/object:Gem::Requirement
127
- requirements:
128
- - - "~>"
129
- - !ruby/object:Gem::Version
130
- version: '12.0'
131
- type: :development
132
- prerelease: false
133
- version_requirements: !ruby/object:Gem::Requirement
134
- requirements:
135
- - - "~>"
136
- - !ruby/object:Gem::Version
137
- version: '12.0'
138
- - !ruby/object:Gem::Dependency
139
- name: commonmarker
140
- requirement: !ruby/object:Gem::Requirement
141
- requirements:
142
- - - "~>"
143
- - !ruby/object:Gem::Version
144
- version: 0.23.10
145
- type: :development
146
- prerelease: false
147
- version_requirements: !ruby/object:Gem::Requirement
148
- requirements:
149
- - - "~>"
150
- - !ruby/object:Gem::Version
151
- version: 0.23.10
152
- - !ruby/object:Gem::Dependency
153
- name: debug
154
- requirement: !ruby/object:Gem::Requirement
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: '0'
159
- type: :development
160
- prerelease: false
161
- version_requirements: !ruby/object:Gem::Requirement
162
- requirements:
163
- - - ">="
164
- - !ruby/object:Gem::Version
165
- version: '0'
166
- - !ruby/object:Gem::Dependency
167
- name: derailed_benchmarks
168
- requirement: !ruby/object:Gem::Requirement
169
- requirements:
170
- - - "~>"
171
- - !ruby/object:Gem::Version
172
- version: 2.1.2
173
- type: :development
174
- prerelease: false
175
- version_requirements: !ruby/object:Gem::Requirement
176
- requirements:
177
- - - "~>"
178
- - !ruby/object:Gem::Version
179
- version: 2.1.2
180
- - !ruby/object:Gem::Dependency
181
- name: diffy
182
- requirement: !ruby/object:Gem::Requirement
183
- requirements:
184
- - - "~>"
185
- - !ruby/object:Gem::Version
186
- version: 3.4.0
187
- type: :development
188
- prerelease: false
189
- version_requirements: !ruby/object:Gem::Requirement
190
- requirements:
191
- - - "~>"
192
- - !ruby/object:Gem::Version
193
- version: 3.4.0
194
- - !ruby/object:Gem::Dependency
195
- name: get_process_mem
196
- requirement: !ruby/object:Gem::Requirement
197
- requirements:
198
- - - "~>"
199
- - !ruby/object:Gem::Version
200
- version: 0.2.7
201
- type: :development
202
- prerelease: false
203
- version_requirements: !ruby/object:Gem::Requirement
204
- requirements:
205
- - - "~>"
206
- - !ruby/object:Gem::Version
207
- version: 0.2.7
208
- - !ruby/object:Gem::Dependency
209
- name: faker
210
- requirement: !ruby/object:Gem::Requirement
211
- requirements:
212
- - - ">="
213
- - !ruby/object:Gem::Version
214
- version: '0'
215
- type: :development
216
- prerelease: false
217
- version_requirements: !ruby/object:Gem::Requirement
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- version: '0'
222
- - !ruby/object:Gem::Dependency
223
- name: ffi
224
- requirement: !ruby/object:Gem::Requirement
225
- requirements:
226
- - - "~>"
227
- - !ruby/object:Gem::Version
228
- version: 1.16.0
229
- type: :development
230
- prerelease: false
231
- version_requirements: !ruby/object:Gem::Requirement
232
- requirements:
233
- - - "~>"
234
- - !ruby/object:Gem::Version
235
- version: 1.16.0
236
- - !ruby/object:Gem::Dependency
237
- name: gem-release
238
- requirement: !ruby/object:Gem::Requirement
239
- requirements:
240
- - - ">="
241
- - !ruby/object:Gem::Version
242
- version: '0'
243
- type: :development
244
- prerelease: false
245
- version_requirements: !ruby/object:Gem::Requirement
246
- requirements:
247
- - - ">="
248
- - !ruby/object:Gem::Version
249
- version: '0'
250
- - !ruby/object:Gem::Dependency
251
- name: irb
252
- requirement: !ruby/object:Gem::Requirement
253
- requirements:
254
- - - "~>"
255
- - !ruby/object:Gem::Version
256
- version: 1.13.1
257
- type: :development
258
- prerelease: false
259
- version_requirements: !ruby/object:Gem::Requirement
260
- requirements:
261
- - - "~>"
262
- - !ruby/object:Gem::Version
263
- version: 1.13.1
264
- - !ruby/object:Gem::Dependency
265
- name: inch
266
- requirement: !ruby/object:Gem::Requirement
267
- requirements:
268
- - - ">="
269
- - !ruby/object:Gem::Version
270
- version: '0'
271
- type: :development
272
- prerelease: false
273
- version_requirements: !ruby/object:Gem::Requirement
274
- requirements:
275
- - - ">="
276
- - !ruby/object:Gem::Version
277
- version: '0'
278
- - !ruby/object:Gem::Dependency
279
- name: json
280
- requirement: !ruby/object:Gem::Requirement
281
- requirements:
282
- - - ">="
283
- - !ruby/object:Gem::Version
284
- version: '0'
285
- type: :development
286
- prerelease: false
287
- version_requirements: !ruby/object:Gem::Requirement
288
- requirements:
289
- - - ">="
290
- - !ruby/object:Gem::Version
291
- version: '0'
292
- - !ruby/object:Gem::Dependency
293
- name: memory_profiler
294
- requirement: !ruby/object:Gem::Requirement
295
- requirements:
296
- - - ">="
297
- - !ruby/object:Gem::Version
298
- version: '0'
299
- type: :development
300
- prerelease: false
301
- version_requirements: !ruby/object:Gem::Requirement
302
- requirements:
303
- - - ">="
304
- - !ruby/object:Gem::Version
305
- version: '0'
306
- - !ruby/object:Gem::Dependency
307
- name: minitest
308
- requirement: !ruby/object:Gem::Requirement
309
- requirements:
310
- - - "~>"
311
- - !ruby/object:Gem::Version
312
- version: 5.18.0
313
- type: :development
314
- prerelease: false
315
- version_requirements: !ruby/object:Gem::Requirement
316
- requirements:
317
- - - "~>"
318
- - !ruby/object:Gem::Version
319
- version: 5.18.0
320
- - !ruby/object:Gem::Dependency
321
- name: mutex_m
322
- requirement: !ruby/object:Gem::Requirement
323
- requirements:
324
- - - ">="
325
- - !ruby/object:Gem::Version
326
- version: '0'
327
- type: :development
328
- prerelease: false
329
- version_requirements: !ruby/object:Gem::Requirement
330
- requirements:
331
- - - ">="
332
- - !ruby/object:Gem::Version
333
- version: '0'
334
- - !ruby/object:Gem::Dependency
335
- name: paint
336
- requirement: !ruby/object:Gem::Requirement
337
- requirements:
338
- - - ">="
339
- - !ruby/object:Gem::Version
340
- version: '0'
341
- type: :development
342
- prerelease: false
343
- version_requirements: !ruby/object:Gem::Requirement
344
- requirements:
345
- - - ">="
346
- - !ruby/object:Gem::Version
347
- version: '0'
348
- - !ruby/object:Gem::Dependency
349
- name: progressbar
350
- requirement: !ruby/object:Gem::Requirement
351
- requirements:
352
- - - ">="
353
- - !ruby/object:Gem::Version
354
- version: '0'
355
- type: :development
356
- prerelease: false
357
- version_requirements: !ruby/object:Gem::Requirement
358
- requirements:
359
- - - ">="
360
- - !ruby/object:Gem::Version
361
- version: '0'
362
- - !ruby/object:Gem::Dependency
363
- name: pry
364
- requirement: !ruby/object:Gem::Requirement
365
- requirements:
366
- - - "~>"
367
- - !ruby/object:Gem::Version
368
- version: 0.14.2
369
- type: :development
370
- prerelease: false
371
- version_requirements: !ruby/object:Gem::Requirement
372
- requirements:
373
- - - "~>"
374
- - !ruby/object:Gem::Version
375
- version: 0.14.2
376
- - !ruby/object:Gem::Dependency
377
- name: rackup
378
- requirement: !ruby/object:Gem::Requirement
379
- requirements:
380
- - - "~>"
381
- - !ruby/object:Gem::Version
382
- version: 2.2.1
383
- type: :development
384
- prerelease: false
385
- version_requirements: !ruby/object:Gem::Requirement
386
- requirements:
387
- - - "~>"
388
- - !ruby/object:Gem::Version
389
- version: 2.2.1
390
- - !ruby/object:Gem::Dependency
391
- name: rake
392
- requirement: !ruby/object:Gem::Requirement
393
- requirements:
394
- - - "~>"
395
- - !ruby/object:Gem::Version
396
- version: 12.3.3
397
- type: :development
398
- prerelease: false
399
- version_requirements: !ruby/object:Gem::Requirement
400
- requirements:
401
- - - "~>"
402
- - !ruby/object:Gem::Version
403
- version: 12.3.3
404
- - !ruby/object:Gem::Dependency
405
- name: rerun
406
- requirement: !ruby/object:Gem::Requirement
407
- requirements:
408
- - - ">="
409
- - !ruby/object:Gem::Version
410
- version: '0'
411
- type: :development
412
- prerelease: false
413
- version_requirements: !ruby/object:Gem::Requirement
414
- requirements:
415
- - - ">="
416
- - !ruby/object:Gem::Version
417
- version: '0'
418
- - !ruby/object:Gem::Dependency
419
- name: rouge
27
+ name: set
420
28
  requirement: !ruby/object:Gem::Requirement
421
29
  requirements:
422
30
  - - ">="
423
31
  - !ruby/object:Gem::Version
424
32
  version: '0'
425
- type: :development
426
- prerelease: false
427
- version_requirements: !ruby/object:Gem::Requirement
428
- requirements:
429
- - - ">="
430
- - !ruby/object:Gem::Version
431
- version: '0'
432
- - !ruby/object:Gem::Dependency
433
- name: rspec
434
- requirement: !ruby/object:Gem::Requirement
435
- requirements:
436
- - - "~>"
437
- - !ruby/object:Gem::Version
438
- version: 3.11.0
439
- type: :development
440
- prerelease: false
441
- version_requirements: !ruby/object:Gem::Requirement
442
- requirements:
443
- - - "~>"
444
- - !ruby/object:Gem::Version
445
- version: 3.11.0
446
- - !ruby/object:Gem::Dependency
447
- name: rspec-benchmark
448
- requirement: !ruby/object:Gem::Requirement
449
- requirements:
450
- - - "~>"
451
- - !ruby/object:Gem::Version
452
- version: 0.6.0
453
- type: :development
454
- prerelease: false
455
- version_requirements: !ruby/object:Gem::Requirement
456
- requirements:
457
- - - "~>"
458
- - !ruby/object:Gem::Version
459
- version: 0.6.0
460
- - !ruby/object:Gem::Dependency
461
- name: rubocop
462
- requirement: !ruby/object:Gem::Requirement
463
- requirements:
464
- - - "~>"
465
- - !ruby/object:Gem::Version
466
- version: 1.61.0
467
- type: :development
468
- prerelease: false
469
- version_requirements: !ruby/object:Gem::Requirement
470
- requirements:
471
- - - "~>"
472
- - !ruby/object:Gem::Version
473
- version: 1.61.0
474
- - !ruby/object:Gem::Dependency
475
- name: rubocop-magic_numbers
476
- requirement: !ruby/object:Gem::Requirement
477
- requirements:
478
- - - "~>"
479
- - !ruby/object:Gem::Version
480
- version: 0.4.0
481
- type: :development
482
- prerelease: false
483
- version_requirements: !ruby/object:Gem::Requirement
484
- requirements:
485
- - - "~>"
486
- - !ruby/object:Gem::Version
487
- version: 0.4.0
488
- - !ruby/object:Gem::Dependency
489
- name: rubocop-rspec
490
- requirement: !ruby/object:Gem::Requirement
491
- requirements:
492
- - - "~>"
493
- - !ruby/object:Gem::Version
494
- version: 2.27.0
495
- type: :development
496
- prerelease: false
497
- version_requirements: !ruby/object:Gem::Requirement
498
- requirements:
499
- - - "~>"
500
- - !ruby/object:Gem::Version
501
- version: 2.27.0
502
- - !ruby/object:Gem::Dependency
503
- name: rubocop-packaging
504
- requirement: !ruby/object:Gem::Requirement
505
- requirements:
506
- - - "~>"
507
- - !ruby/object:Gem::Version
508
- version: 0.5.2
509
- type: :development
510
- prerelease: false
511
- version_requirements: !ruby/object:Gem::Requirement
512
- requirements:
513
- - - "~>"
514
- - !ruby/object:Gem::Version
515
- version: 0.5.2
516
- - !ruby/object:Gem::Dependency
517
- name: rubocop-thread_safety
518
- requirement: !ruby/object:Gem::Requirement
519
- requirements:
520
- - - "~>"
521
- - !ruby/object:Gem::Version
522
- version: 0.5.1
523
- type: :development
524
- prerelease: false
525
- version_requirements: !ruby/object:Gem::Requirement
526
- requirements:
527
- - - "~>"
528
- - !ruby/object:Gem::Version
529
- version: 0.5.1
530
- - !ruby/object:Gem::Dependency
531
- name: rubycritic
532
- requirement: !ruby/object:Gem::Requirement
533
- requirements:
534
- - - ">="
535
- - !ruby/object:Gem::Version
536
- version: '0'
537
- type: :development
538
- prerelease: false
539
- version_requirements: !ruby/object:Gem::Requirement
540
- requirements:
541
- - - ">="
542
- - !ruby/object:Gem::Version
543
- version: '0'
544
- - !ruby/object:Gem::Dependency
545
- name: tty-prompt
546
- requirement: !ruby/object:Gem::Requirement
547
- requirements:
548
- - - ">="
549
- - !ruby/object:Gem::Version
550
- version: '0'
551
- type: :development
552
- prerelease: false
553
- version_requirements: !ruby/object:Gem::Requirement
554
- requirements:
555
- - - ">="
556
- - !ruby/object:Gem::Version
557
- version: '0'
558
- - !ruby/object:Gem::Dependency
559
- name: standard
560
- requirement: !ruby/object:Gem::Requirement
561
- requirements:
562
- - - "~>"
563
- - !ruby/object:Gem::Version
564
- version: 1.34.0
565
- type: :development
566
- prerelease: false
567
- version_requirements: !ruby/object:Gem::Requirement
568
- requirements:
569
- - - "~>"
570
- - !ruby/object:Gem::Version
571
- version: 1.34.0
572
- - !ruby/object:Gem::Dependency
573
- name: simplecov
574
- requirement: !ruby/object:Gem::Requirement
575
- requirements:
576
- - - ">="
577
- - !ruby/object:Gem::Version
578
- version: '0'
579
- type: :development
580
- prerelease: false
581
- version_requirements: !ruby/object:Gem::Requirement
582
- requirements:
583
- - - ">="
584
- - !ruby/object:Gem::Version
585
- version: '0'
586
- - !ruby/object:Gem::Dependency
587
- name: simplecov-lcov
588
- requirement: !ruby/object:Gem::Requirement
589
- requirements:
590
- - - ">="
591
- - !ruby/object:Gem::Version
592
- version: '0'
593
- type: :development
33
+ type: :runtime
594
34
  prerelease: false
595
35
  version_requirements: !ruby/object:Gem::Requirement
596
36
  requirements:
597
37
  - - ">="
598
38
  - !ruby/object:Gem::Version
599
39
  version: '0'
600
- - !ruby/object:Gem::Dependency
601
- name: shoulda-context
602
- requirement: !ruby/object:Gem::Requirement
603
- requirements:
604
- - - "~>"
605
- - !ruby/object:Gem::Version
606
- version: 2.0.0
607
- type: :development
608
- prerelease: false
609
- version_requirements: !ruby/object:Gem::Requirement
610
- requirements:
611
- - - "~>"
612
- - !ruby/object:Gem::Version
613
- version: 2.0.0
614
- - !ruby/object:Gem::Dependency
615
- name: stackprof
616
- requirement: !ruby/object:Gem::Requirement
617
- requirements:
618
- - - "~>"
619
- - !ruby/object:Gem::Version
620
- version: 0.2.25
621
- type: :development
622
- prerelease: false
623
- version_requirements: !ruby/object:Gem::Requirement
624
- requirements:
625
- - - "~>"
626
- - !ruby/object:Gem::Version
627
- version: 0.2.25
628
- - !ruby/object:Gem::Dependency
629
- name: uri
630
- requirement: !ruby/object:Gem::Requirement
631
- requirements:
632
- - - "~>"
633
- - !ruby/object:Gem::Version
634
- version: 0.13.0
635
- type: :development
636
- prerelease: false
637
- version_requirements: !ruby/object:Gem::Requirement
638
- requirements:
639
- - - "~>"
640
- - !ruby/object:Gem::Version
641
- version: 0.13.0
642
- - !ruby/object:Gem::Dependency
643
- name: webrick
644
- requirement: !ruby/object:Gem::Requirement
645
- requirements:
646
- - - "~>"
647
- - !ruby/object:Gem::Version
648
- version: 1.8.2
649
- type: :development
650
- prerelease: false
651
- version_requirements: !ruby/object:Gem::Requirement
652
- requirements:
653
- - - "~>"
654
- - !ruby/object:Gem::Version
655
- version: 1.8.2
656
- - !ruby/object:Gem::Dependency
657
- name: yard
658
- requirement: !ruby/object:Gem::Requirement
659
- requirements:
660
- - - "~>"
661
- - !ruby/object:Gem::Version
662
- version: 0.9.37
663
- type: :development
664
- prerelease: false
665
- version_requirements: !ruby/object:Gem::Requirement
666
- requirements:
667
- - - "~>"
668
- - !ruby/object:Gem::Version
669
- version: 0.9.37
670
- - !ruby/object:Gem::Dependency
671
- name: yard-junk
672
- requirement: !ruby/object:Gem::Requirement
673
- requirements:
674
- - - "~>"
675
- - !ruby/object:Gem::Version
676
- version: 0.0.10
677
- type: :development
678
- prerelease: false
679
- version_requirements: !ruby/object:Gem::Requirement
680
- requirements:
681
- - - "~>"
682
- - !ruby/object:Gem::Version
683
- version: 0.0.10
684
- - !ruby/object:Gem::Dependency
685
- name: service_actor
686
- requirement: !ruby/object:Gem::Requirement
687
- requirements:
688
- - - "~>"
689
- - !ruby/object:Gem::Version
690
- version: 3.7.0
691
- type: :development
692
- prerelease: false
693
- version_requirements: !ruby/object:Gem::Requirement
694
- requirements:
695
- - - "~>"
696
- - !ruby/object:Gem::Version
697
- version: 3.7.0
698
- - !ruby/object:Gem::Dependency
699
- name: interactor
700
- requirement: !ruby/object:Gem::Requirement
701
- requirements:
702
- - - "~>"
703
- - !ruby/object:Gem::Version
704
- version: 3.1.2
705
- type: :development
706
- prerelease: false
707
- version_requirements: !ruby/object:Gem::Requirement
708
- requirements:
709
- - - "~>"
710
- - !ruby/object:Gem::Version
711
- version: 3.1.2
712
- - !ruby/object:Gem::Dependency
713
- name: trailblazer-operation
714
- requirement: !ruby/object:Gem::Requirement
715
- requirements:
716
- - - "~>"
717
- - !ruby/object:Gem::Version
718
- version: 0.10.1
719
- type: :development
720
- prerelease: false
721
- version_requirements: !ruby/object:Gem::Requirement
722
- requirements:
723
- - - "~>"
724
- - !ruby/object:Gem::Version
725
- version: 0.10.1
726
- - !ruby/object:Gem::Dependency
727
- name: active_interaction
728
- requirement: !ruby/object:Gem::Requirement
729
- requirements:
730
- - - "~>"
731
- - !ruby/object:Gem::Version
732
- version: 5.5.0
733
- type: :development
734
- prerelease: false
735
- version_requirements: !ruby/object:Gem::Requirement
736
- requirements:
737
- - - "~>"
738
- - !ruby/object:Gem::Version
739
- version: 5.5.0
740
- - !ruby/object:Gem::Dependency
741
- name: light-service
742
- requirement: !ruby/object:Gem::Requirement
743
- requirements:
744
- - - "~>"
745
- - !ruby/object:Gem::Version
746
- version: 0.18.0
747
- type: :development
748
- prerelease: false
749
- version_requirements: !ruby/object:Gem::Requirement
750
- requirements:
751
- - - "~>"
752
- - !ruby/object:Gem::Version
753
- version: 0.18.0
754
- - !ruby/object:Gem::Dependency
755
- name: mutations
756
- requirement: !ruby/object:Gem::Requirement
757
- requirements:
758
- - - "~>"
759
- - !ruby/object:Gem::Version
760
- version: 0.9.1
761
- type: :development
762
- prerelease: false
763
- version_requirements: !ruby/object:Gem::Requirement
764
- requirements:
765
- - - "~>"
766
- - !ruby/object:Gem::Version
767
- version: 0.9.1
768
- description: 'Yet another approach to revisit the service object pattern in Ruby,
769
- but this time focusing on the unique, opinionated, moderately obtrusive, but not
770
- mandatory features.
40
+ description: |
41
+ Manage complex business logic in Ruby applications using Service Objects with Results and Steps.
42
+
43
+ Hide technical details with Configs, Concerns and Middlewares.
771
44
 
772
- '
45
+ Group related code with Features and Entries.
773
46
  email:
774
47
  - mariankostyk13895@gmail.com
775
48
  executables: []
@@ -944,6 +217,7 @@ files:
944
217
  - lib/convenient_service/dependencies/queries/gems.rb
945
218
  - lib/convenient_service/dependencies/queries/gems/active_model.rb
946
219
  - lib/convenient_service/dependencies/queries/gems/logger.rb
220
+ - lib/convenient_service/dependencies/queries/gems/minitest.rb
947
221
  - lib/convenient_service/dependencies/queries/gems/paint.rb
948
222
  - lib/convenient_service/dependencies/queries/gems/rspec.rb
949
223
  - lib/convenient_service/dependencies/queries/ruby.rb
@@ -968,9 +242,6 @@ files:
968
242
  - lib/convenient_service/feature/configs.rb
969
243
  - lib/convenient_service/feature/configs/aliases.rb
970
244
  - lib/convenient_service/feature/configs/standard.rb
971
- - lib/convenient_service/feature/configs/standard/commands.rb
972
- - lib/convenient_service/feature/configs/standard/commands/is_feature.rb
973
- - lib/convenient_service/feature/configs/standard/commands/is_feature_class.rb
974
245
  - lib/convenient_service/feature/core.rb
975
246
  - lib/convenient_service/feature/plugins.rb
976
247
  - lib/convenient_service/feature/plugins/aliases.rb
@@ -980,13 +251,27 @@ files:
980
251
  - lib/convenient_service/feature/plugins/can_have_entries/commands/define_entry.rb
981
252
  - lib/convenient_service/feature/plugins/can_have_entries/concern.rb
982
253
  - lib/convenient_service/feature/plugins/can_have_entries/exceptions.rb
254
+ - lib/convenient_service/feature/plugins/can_have_rspec_stubbed_entries.rb
255
+ - lib/convenient_service/feature/plugins/can_have_rspec_stubbed_entries/concern.rb
983
256
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries.rb
984
257
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands.rb
258
+ - lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/delete_feature_stubbed_entry.rb
985
259
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/fetch_all_features_stubbed_entries_cache.rb
986
260
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/fetch_feature_stubbed_entries_cache.rb
987
261
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries/commands/set_feature_stubbed_entry.rb
988
262
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries/concern.rb
263
+ - lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities.rb
264
+ - lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/feature_stub.rb
265
+ - lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/feature_unstub.rb
266
+ - lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/value_mock.rb
267
+ - lib/convenient_service/feature/plugins/can_have_stubbed_entries/entities/value_unmock.rb
989
268
  - lib/convenient_service/feature/plugins/can_have_stubbed_entries/middleware.rb
269
+ - lib/convenient_service/feature/plugins/has_amazing_print_inspect.rb
270
+ - lib/convenient_service/feature/plugins/has_amazing_print_inspect/concern.rb
271
+ - lib/convenient_service/feature/plugins/has_awesome_print_inspect.rb
272
+ - lib/convenient_service/feature/plugins/has_awesome_print_inspect/concern.rb
273
+ - lib/convenient_service/feature/plugins/has_inspect.rb
274
+ - lib/convenient_service/feature/plugins/has_inspect/concern.rb
990
275
  - lib/convenient_service/jruby.rb
991
276
  - lib/convenient_service/logger.rb
992
277
  - lib/convenient_service/rspec.rb
@@ -995,16 +280,6 @@ files:
995
280
  - lib/convenient_service/rspec/helpers/classes/ignoring_exception.rb
996
281
  - lib/convenient_service/rspec/helpers/classes/ignoring_exception/exceptions.rb
997
282
  - lib/convenient_service/rspec/helpers/classes/in_threads.rb
998
- - lib/convenient_service/rspec/helpers/classes/stub_entry.rb
999
- - lib/convenient_service/rspec/helpers/classes/stub_entry/constants.rb
1000
- - lib/convenient_service/rspec/helpers/classes/stub_entry/entities.rb
1001
- - lib/convenient_service/rspec/helpers/classes/stub_entry/entities/stubbed_feature.rb
1002
- - lib/convenient_service/rspec/helpers/classes/stub_entry/entities/value_spec.rb
1003
- - lib/convenient_service/rspec/helpers/classes/stub_service.rb
1004
- - lib/convenient_service/rspec/helpers/classes/stub_service/constants.rb
1005
- - lib/convenient_service/rspec/helpers/classes/stub_service/entities.rb
1006
- - lib/convenient_service/rspec/helpers/classes/stub_service/entities/result_spec.rb
1007
- - lib/convenient_service/rspec/helpers/classes/stub_service/entities/stubbed_service.rb
1008
283
  - lib/convenient_service/rspec/helpers/classes/wrap_method.rb
1009
284
  - lib/convenient_service/rspec/helpers/classes/wrap_method/entities.rb
1010
285
  - lib/convenient_service/rspec/helpers/classes/wrap_method/entities/wrapped_method.rb
@@ -1131,9 +406,6 @@ files:
1131
406
  - lib/convenient_service/service/configs/aliases.rb
1132
407
  - lib/convenient_service/service/configs/standard.rb
1133
408
  - lib/convenient_service/service/configs/standard/aliases.rb
1134
- - lib/convenient_service/service/configs/standard/commands.rb
1135
- - lib/convenient_service/service/configs/standard/commands/is_service.rb
1136
- - lib/convenient_service/service/configs/standard/commands/is_service_class.rb
1137
409
  - lib/convenient_service/service/configs/standard/v1.rb
1138
410
  - lib/convenient_service/service/core.rb
1139
411
  - lib/convenient_service/service/plugins.rb
@@ -1171,6 +443,8 @@ files:
1171
443
  - lib/convenient_service/service/plugins/can_have_recalculations/concern.rb
1172
444
  - lib/convenient_service/service/plugins/can_have_rollbacks.rb
1173
445
  - lib/convenient_service/service/plugins/can_have_rollbacks/middleware.rb
446
+ - lib/convenient_service/service/plugins/can_have_rspec_stubbed_results.rb
447
+ - lib/convenient_service/service/plugins/can_have_rspec_stubbed_results/concern.rb
1174
448
  - lib/convenient_service/service/plugins/can_have_sequential_steps.rb
1175
449
  - lib/convenient_service/service/plugins/can_have_sequential_steps/concern.rb
1176
450
  - lib/convenient_service/service/plugins/can_have_sequential_steps/entities.rb
@@ -1287,10 +561,16 @@ files:
1287
561
  - lib/convenient_service/service/plugins/can_have_steps/middleware.rb
1288
562
  - lib/convenient_service/service/plugins/can_have_stubbed_results.rb
1289
563
  - lib/convenient_service/service/plugins/can_have_stubbed_results/commands.rb
564
+ - lib/convenient_service/service/plugins/can_have_stubbed_results/commands/delete_service_stubbed_result.rb
1290
565
  - lib/convenient_service/service/plugins/can_have_stubbed_results/commands/fetch_all_services_stubbed_results_cache.rb
1291
566
  - lib/convenient_service/service/plugins/can_have_stubbed_results/commands/fetch_service_stubbed_results_cache.rb
1292
567
  - lib/convenient_service/service/plugins/can_have_stubbed_results/commands/set_service_stubbed_result.rb
1293
568
  - lib/convenient_service/service/plugins/can_have_stubbed_results/concern.rb
569
+ - lib/convenient_service/service/plugins/can_have_stubbed_results/entities.rb
570
+ - lib/convenient_service/service/plugins/can_have_stubbed_results/entities/result_mock.rb
571
+ - lib/convenient_service/service/plugins/can_have_stubbed_results/entities/result_unmock.rb
572
+ - lib/convenient_service/service/plugins/can_have_stubbed_results/entities/service_stub.rb
573
+ - lib/convenient_service/service/plugins/can_have_stubbed_results/entities/service_unstub.rb
1294
574
  - lib/convenient_service/service/plugins/can_have_stubbed_results/middleware.rb
1295
575
  - lib/convenient_service/service/plugins/can_not_be_inherited.rb
1296
576
  - lib/convenient_service/service/plugins/can_not_be_inherited/concern.rb
@@ -1555,6 +835,8 @@ files:
1555
835
  - lib/convenient_service/utils/class.rb
1556
836
  - lib/convenient_service/utils/class/display_name.rb
1557
837
  - lib/convenient_service/utils/class/get_attached_object.rb
838
+ - lib/convenient_service/utils/enumerable.rb
839
+ - lib/convenient_service/utils/enumerable/find_last.rb
1558
840
  - lib/convenient_service/utils/hash.rb
1559
841
  - lib/convenient_service/utils/hash/assert_valid_keys.rb
1560
842
  - lib/convenient_service/utils/hash/except.rb
@@ -1595,6 +877,7 @@ files:
1595
877
  - lib/convenient_service/utils/string/demodulize.rb
1596
878
  - lib/convenient_service/utils/string/enclose.rb
1597
879
  - lib/convenient_service/utils/string/split.rb
880
+ - lib/convenient_service/utils/string/tab.rb
1598
881
  - lib/convenient_service/utils/string/truncate.rb
1599
882
  - lib/convenient_service/version.rb
1600
883
  homepage: https://github.com/marian13/convenient_service
@@ -1618,7 +901,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
1618
901
  - !ruby/object:Gem::Version
1619
902
  version: '0'
1620
903
  requirements: []
1621
- rubygems_version: 3.6.2
904
+ rubygems_version: 4.0.3
1622
905
  specification_version: 4
1623
- summary: Ruby Service Objects with Steps.
906
+ summary: Ruby Service Objects with Steps and more.
1624
907
  test_files: []