convenient_service 0.10.1 → 0.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (257) hide show
  1. checksums.yaml +4 -4
  2. data/.dev/.tmuxinator.yml +2 -1
  3. data/.github/workflows/ci.yml +21 -1
  4. data/CHANGELOG.md +90 -0
  5. data/Gemfile +6 -0
  6. data/README.md +4 -2
  7. data/Taskfile.yml +94 -0
  8. data/convenient_service.gemspec +40 -2
  9. data/docker/2.7/Dockerfile +3 -3
  10. data/docker/3.0/Dockerfile +2 -2
  11. data/docker/3.1/Dockerfile +2 -2
  12. data/docker/3.2/Dockerfile +73 -0
  13. data/docker/jruby-9.4/Dockerfile +88 -0
  14. data/docker/truffleruby-22.3/Dockerfile +91 -0
  15. data/lib/convenient_service/common/plugins/aliases.rb +0 -1
  16. data/lib/convenient_service/common/plugins/assigns_attributes_in_constructor/using_active_model_attribute_assignment/middleware.rb +12 -8
  17. data/lib/convenient_service/common/plugins/caches_return_value/middleware.rb +3 -3
  18. data/lib/convenient_service/common/plugins/can_have_user_provided_entity/errors.rb +2 -2
  19. data/lib/convenient_service/common/plugins/has_around_callbacks/errors.rb +1 -1
  20. data/lib/convenient_service/common/plugins/has_callbacks/entities/callback.rb +7 -7
  21. data/lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/aliases.rb +7 -0
  22. data/lib/convenient_service/common/plugins/has_internals/entities/internals/plugins.rb +2 -0
  23. data/lib/convenient_service/configs/minimal.rb +23 -4
  24. data/lib/convenient_service/configs/standard.rb +0 -4
  25. data/lib/convenient_service/core/class_methods.rb +24 -9
  26. data/lib/convenient_service/core/constants.rb +36 -0
  27. data/lib/convenient_service/core/entities/config/commands/track_method_missing_commit_trigger.rb +69 -0
  28. data/lib/convenient_service/core/entities/config/commands.rb +3 -0
  29. data/lib/convenient_service/core/entities/config/entities/concerns/entities/stack.rb +10 -10
  30. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/chain.rb +3 -3
  31. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middleware.rb +18 -1
  32. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middleware_creator.rb +62 -0
  33. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb +12 -12
  34. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities.rb +1 -0
  35. data/lib/convenient_service/core/entities/config/entities/method_middlewares.rb +1 -1
  36. data/lib/convenient_service/core/entities/config/errors.rb +38 -1
  37. data/lib/convenient_service/core/entities/config.rb +14 -4
  38. data/lib/convenient_service/core/instance_methods.rb +6 -4
  39. data/lib/convenient_service/core.rb +1 -0
  40. data/lib/convenient_service/dependencies/built_in.rb +7 -0
  41. data/lib/convenient_service/dependencies/extractions/active_support_concern/concern.rb +18 -2
  42. data/lib/convenient_service/dependencies/extractions/active_support_concern.rb +4 -0
  43. data/lib/convenient_service/dependencies/extractions/ruby_middleware/middleware/builder.rb +7 -1
  44. data/lib/convenient_service/dependencies/extractions/ruby_middleware/middleware/logger.rb +7 -1
  45. data/lib/convenient_service/dependencies/extractions/ruby_middleware/middleware/runner.rb +15 -1
  46. data/lib/convenient_service/dependencies/extractions/ruby_middleware/middleware.rb +8 -1
  47. data/lib/convenient_service/dependencies/extractions/ruby_middleware.rb +3 -2
  48. data/lib/convenient_service/dependencies.rb +16 -15
  49. data/lib/convenient_service/examples/dry/gemfile.rb +4 -4
  50. data/lib/convenient_service/examples/rails/gemfile.rb +4 -4
  51. data/lib/convenient_service/examples/standard/cowsay.rb +4 -4
  52. data/lib/convenient_service/examples/standard/gemfile/services/assert_file_exists.rb +1 -1
  53. data/lib/convenient_service/examples/standard/gemfile/services/assert_file_not_empty.rb +1 -1
  54. data/lib/convenient_service/examples/standard/gemfile/services/assert_node_available.rb +0 -9
  55. data/lib/convenient_service/examples/standard/gemfile.rb +4 -4
  56. data/lib/convenient_service/examples/standard/request_params.rb +4 -4
  57. data/lib/convenient_service/feature.rb +12 -0
  58. data/lib/convenient_service/logger.rb +6 -5
  59. data/lib/convenient_service/rspec/helpers/custom/in_threads.rb +74 -0
  60. data/lib/convenient_service/rspec/helpers/custom/stub_service/constants.rb +20 -0
  61. data/lib/convenient_service/rspec/helpers/custom/stub_service/entities/stubbed_service.rb +4 -4
  62. data/lib/convenient_service/rspec/helpers/custom/stub_service.rb +1 -0
  63. data/lib/convenient_service/rspec/helpers/custom/wrap_method/entities/wrapped_method.rb +3 -3
  64. data/lib/convenient_service/rspec/helpers/custom/wrap_method/errors.rb +1 -1
  65. data/lib/convenient_service/rspec/helpers/custom.rb +1 -0
  66. data/lib/convenient_service/rspec/helpers/in_threads.rb +13 -0
  67. data/lib/convenient_service/rspec/helpers.rb +2 -0
  68. data/lib/convenient_service/rspec/matchers/custom/delegate_to/entities/matcher/entities/chainings_collection/errors.rb +3 -3
  69. data/lib/convenient_service/rspec/matchers/custom/delegate_to/entities/matcher/entities/delegation.rb +3 -3
  70. data/lib/convenient_service/rspec/matchers/custom/delegate_to/entities/matcher.rb +2 -2
  71. data/lib/convenient_service/rspec/matchers/custom/export.rb +82 -0
  72. data/lib/convenient_service/rspec/matchers/custom/results/base/commands/find_result_method_step.rb +4 -4
  73. data/lib/convenient_service/rspec/matchers/custom/results/base/commands/find_result_result_method_step.rb +4 -4
  74. data/lib/convenient_service/rspec/matchers/custom/results/base/commands/find_result_service_step.rb +1 -1
  75. data/lib/convenient_service/rspec/matchers/custom/results/base/constants.rb +22 -0
  76. data/lib/convenient_service/rspec/matchers/custom/results/base/errors.rb +1 -1
  77. data/lib/convenient_service/rspec/matchers/custom/results/base.rb +2 -1
  78. data/lib/convenient_service/rspec/matchers/custom.rb +1 -0
  79. data/lib/convenient_service/rspec/matchers/export.rb +13 -0
  80. data/lib/convenient_service/rspec/matchers.rb +2 -0
  81. data/lib/convenient_service/service/plugins/aliases.rb +0 -2
  82. data/lib/convenient_service/service/plugins/{has_result_method_steps → can_have_method_steps}/middleware.rb +12 -2
  83. data/lib/convenient_service/service/plugins/can_have_method_steps.rb +3 -0
  84. data/lib/convenient_service/service/plugins/can_have_result_step/middleware.rb +43 -0
  85. data/lib/convenient_service/service/plugins/can_have_result_step.rb +3 -0
  86. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/commands/create_step_class.rb +1 -1
  87. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/concern.rb +10 -10
  88. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/cast_method.rb +92 -0
  89. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/commands/cast_method_direction.rb +30 -3
  90. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/cast_method_factory.rb +113 -0
  91. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/commands/define_method_in_container.rb +3 -3
  92. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/commands.rb +1 -3
  93. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/concern/class_methods.rb +1 -1
  94. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/concern/instance_methods.rb +1 -1
  95. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/concern.rb +1 -1
  96. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/alias.rb +1 -1
  97. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/base.rb +1 -1
  98. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/proc.rb +1 -1
  99. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/raw.rb +1 -1
  100. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb +1 -1
  101. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/reassignment.rb +1 -1
  102. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/usual.rb +1 -1
  103. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/directions/base.rb +1 -1
  104. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/directions/input.rb +1 -1
  105. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/directions/output.rb +1 -1
  106. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/base.rb +62 -0
  107. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/base.rb +35 -0
  108. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/proc_value.rb +42 -0
  109. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/raw_value.rb +42 -0
  110. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/reassignment_value.rb +42 -0
  111. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/string_value.rb +42 -0
  112. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/symbol_value.rb +42 -0
  113. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash.rb +8 -0
  114. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/method.rb +40 -0
  115. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/reassignment.rb +40 -0
  116. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/string.rb +40 -0
  117. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/symbol.rb +40 -0
  118. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories.rb +8 -0
  119. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/key.rb +1 -1
  120. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/name.rb +1 -1
  121. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/values/reassignment.rb +1 -1
  122. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities.rb +1 -0
  123. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/errors.rb +8 -8
  124. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method.rb +1 -1
  125. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/service/class_methods.rb +1 -1
  126. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/service.rb +1 -1
  127. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/commands/cast_params.rb +1 -1
  128. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/commands/extract_params.rb +1 -1
  129. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/concern/instance_methods.rb +1 -1
  130. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/concern.rb +1 -1
  131. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/errors.rb +27 -0
  132. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/aliases.rb +7 -0
  133. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/plugins/can_have_parent_result/middleware.rb +1 -1
  134. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/plugins/has_inspect/concern.rb +1 -1
  135. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/plugins.rb +2 -0
  136. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/structs/params.rb +1 -1
  137. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step.rb +1 -1
  138. data/lib/convenient_service/service/plugins/can_have_steps/entities/step_collection.rb +106 -0
  139. data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/middleware.rb +4 -4
  140. data/lib/convenient_service/service/plugins/can_have_steps.rb +6 -0
  141. data/lib/convenient_service/service/plugins/can_have_stubbed_result/concern.rb +19 -11
  142. data/lib/convenient_service/service/plugins/can_have_stubbed_result/middleware.rb +3 -3
  143. data/lib/convenient_service/service/plugins/has_result/concern/instance_methods.rb +3 -3
  144. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/aliases.rb +7 -0
  145. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result/concern.rb +12 -5
  146. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes/concern/class_methods.rb → can_have_parent_result/constants.rb} +3 -4
  147. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result.rb +1 -0
  148. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes/commands/cast_jsend_attributes.rb → has_j_send_status_and_attributes/commands/cast_j_send_attributes.rb} +1 -1
  149. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_code_class.rb +49 -0
  150. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_data_class.rb +49 -0
  151. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_message_class.rb +49 -0
  152. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_status_class.rb +49 -0
  153. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands.rb +7 -0
  154. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/concern/class_methods.rb +69 -0
  155. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/concern/instance_methods.rb +9 -9
  156. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/concern.rb +1 -1
  157. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/entities/code/concern/class_methods.rb +2 -2
  158. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/entities/code/concern/instance_methods.rb +3 -3
  159. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/entities/code/concern.rb +1 -1
  160. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/entities/code.rb +1 -1
  161. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern/class_methods.rb +38 -0
  162. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern/instance_methods.rb +94 -0
  163. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern.rb +36 -0
  164. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data.rb +25 -0
  165. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern/class_methods.rb +40 -0
  166. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern/instance_methods.rb +58 -0
  167. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern.rb +36 -0
  168. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message.rb +25 -0
  169. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern/class_methods.rb +40 -0
  170. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern/instance_methods.rb +115 -0
  171. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern.rb +36 -0
  172. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status.rb +25 -0
  173. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/errors.rb +6 -2
  174. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/middleware.rb +4 -4
  175. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes/structs/jsend_attributes.rb → has_j_send_status_and_attributes/structs/j_send_attributes.rb} +1 -1
  176. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/structs.rb +3 -0
  177. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes.rb +8 -0
  178. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_result_short_syntax/concern.rb +3 -3
  179. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/raises_on_not_checked_result_status/errors.rb +1 -1
  180. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins.rb +3 -1
  181. data/lib/convenient_service/service/plugins/has_result/errors.rb +2 -2
  182. data/lib/convenient_service/service/plugins/has_result_status_check_short_syntax/concern.rb +16 -0
  183. data/lib/convenient_service/service/plugins/raises_on_double_result/errors.rb +1 -1
  184. data/lib/convenient_service/service/plugins/rescues_result_unhandled_exceptions/commands/format_backtrace.rb +1 -1
  185. data/lib/convenient_service/service/plugins/rescues_result_unhandled_exceptions/commands/format_exception.rb +11 -10
  186. data/lib/convenient_service/service/plugins/rescues_result_unhandled_exceptions/middleware.rb +14 -7
  187. data/lib/convenient_service/service/plugins.rb +3 -2
  188. data/lib/convenient_service/services/run_own_method_in_organizer.rb +1 -1
  189. data/lib/convenient_service/support/abstract_method/errors.rb +1 -1
  190. data/lib/convenient_service/support/arguments.rb +3 -3
  191. data/lib/convenient_service/support/cache/key.rb +3 -3
  192. data/lib/convenient_service/support/cache.rb +1 -1
  193. data/lib/convenient_service/support/castable/errors.rb +2 -2
  194. data/lib/convenient_service/support/counter.rb +212 -0
  195. data/lib/convenient_service/support/dependency_container/commands/assert_valid_container.rb +33 -0
  196. data/lib/convenient_service/support/dependency_container/commands/assert_valid_method.rb +58 -0
  197. data/lib/convenient_service/support/dependency_container/commands/assert_valid_scope.rb +4 -3
  198. data/lib/convenient_service/support/dependency_container/commands/define_entry.rb +49 -0
  199. data/lib/convenient_service/support/dependency_container/commands.rb +3 -0
  200. data/lib/convenient_service/support/dependency_container/container.rb +23 -0
  201. data/lib/convenient_service/support/dependency_container/entry.rb +22 -0
  202. data/lib/convenient_service/support/dependency_container/errors.rb +5 -5
  203. data/lib/convenient_service/support/dependency_container/import.rb +3 -3
  204. data/lib/convenient_service/support/dependency_container.rb +3 -0
  205. data/lib/convenient_service/support/finite_loop.rb +37 -2
  206. data/lib/convenient_service/support/middleware/stack_builder.rb +1 -1
  207. data/lib/convenient_service/support/not_passed.rb +4 -3
  208. data/lib/convenient_service/support/ruby.rb +31 -0
  209. data/lib/convenient_service/support/safe_method.rb +65 -0
  210. data/lib/convenient_service/support/thread_safe_counter.rb +119 -0
  211. data/lib/convenient_service/support/undefined.rb +4 -3
  212. data/lib/convenient_service/support/unique_value.rb +69 -0
  213. data/lib/convenient_service/support.rb +4 -0
  214. data/lib/convenient_service/utils/array/errors.rb +1 -1
  215. data/lib/convenient_service/utils/array/find_last.rb +1 -1
  216. data/lib/convenient_service/utils/array/find_yield.rb +1 -1
  217. data/lib/convenient_service/utils/object/resolve_class.rb +56 -0
  218. data/lib/convenient_service/utils/object.rb +9 -0
  219. data/lib/convenient_service/version.rb +1 -1
  220. data/lib/convenient_service.rb +6 -0
  221. metadata +129 -86
  222. data/lib/convenient_service/factories/arguments.rb +0 -43
  223. data/lib/convenient_service/factories/results.rb +0 -214
  224. data/lib/convenient_service/factories/services.rb +0 -189
  225. data/lib/convenient_service/factories/step/instance.rb +0 -32
  226. data/lib/convenient_service/factories/step.rb +0 -3
  227. data/lib/convenient_service/factories/steps.rb +0 -126
  228. data/lib/convenient_service/factories.rb +0 -22
  229. data/lib/convenient_service/factory.rb +0 -21
  230. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/commands.rb +0 -3
  231. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/data/class_methods.rb +0 -32
  232. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/data.rb +0 -74
  233. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/message/class_methods.rb +0 -34
  234. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/message.rb +0 -45
  235. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/status/class_methods.rb +0 -34
  236. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/status.rb +0 -77
  237. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/structs.rb +0 -3
  238. data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes.rb +0 -8
  239. data/lib/convenient_service/service/plugins/has_result_method_steps.rb +0 -3
  240. data/lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method.rb +0 -57
  241. data/lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_caller.rb +0 -74
  242. data/lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_key.rb +0 -78
  243. data/lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_name.rb +0 -78
  244. data/lib/convenient_service/service/plugins/has_result_steps/entities/step/errors.rb +0 -23
  245. data/lib/convenient_service/service/plugins/has_result_steps/entities/step_collection.rb +0 -77
  246. data/lib/convenient_service/service/plugins/has_result_steps.rb +0 -6
  247. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/commands.rb +0 -0
  248. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers/reassignment/commands.rb +0 -0
  249. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/callers.rb +0 -0
  250. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/directions.rb +0 -0
  251. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/method/entities/values.rb +0 -0
  252. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/commands.rb +0 -0
  253. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/plugins/can_have_parent_result.rb +0 -0
  254. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/plugins/has_inspect.rb +0 -0
  255. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities/step/structs.rb +0 -0
  256. /data/lib/convenient_service/service/plugins/{has_result_steps → can_have_steps}/entities.rb +0 -0
  257. /data/lib/convenient_service/service/plugins/has_result/entities/result/plugins/{has_jsend_status_and_attributes → has_j_send_status_and_attributes}/entities.rb +0 -0
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: convenient_service
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.1
4
+ version: 0.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marian Kostyk
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-02 00:00:00.000000000 Z
11
+ date: 2023-04-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: appraisal
@@ -371,6 +371,9 @@ files:
371
371
  - docker/2.7/Dockerfile
372
372
  - docker/3.0/Dockerfile
373
373
  - docker/3.1/Dockerfile
374
+ - docker/3.2/Dockerfile
375
+ - docker/jruby-9.4/Dockerfile
376
+ - docker/truffleruby-22.3/Dockerfile
374
377
  - env.rb
375
378
  - lib/convenient_service.rb
376
379
  - lib/convenient_service/aliases.rb
@@ -426,6 +429,7 @@ files:
426
429
  - lib/convenient_service/common/plugins/has_internals/entities/internals.rb
427
430
  - lib/convenient_service/common/plugins/has_internals/entities/internals/concern.rb
428
431
  - lib/convenient_service/common/plugins/has_internals/entities/internals/plugins.rb
432
+ - lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/aliases.rb
429
433
  - lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/has_cache.rb
430
434
  - lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/has_cache/concern.rb
431
435
  - lib/convenient_service/common/plugins/normalizes_env.rb
@@ -437,9 +441,12 @@ files:
437
441
  - lib/convenient_service/core.rb
438
442
  - lib/convenient_service/core/aliases.rb
439
443
  - lib/convenient_service/core/class_methods.rb
444
+ - lib/convenient_service/core/constants.rb
440
445
  - lib/convenient_service/core/entities.rb
441
446
  - lib/convenient_service/core/entities/classic_middleware.rb
442
447
  - lib/convenient_service/core/entities/config.rb
448
+ - lib/convenient_service/core/entities/config/commands.rb
449
+ - lib/convenient_service/core/entities/config/commands/track_method_missing_commit_trigger.rb
443
450
  - lib/convenient_service/core/entities/config/entities.rb
444
451
  - lib/convenient_service/core/entities/config/entities/concerns.rb
445
452
  - lib/convenient_service/core/entities/config/entities/concerns/entities.rb
@@ -468,6 +475,7 @@ files:
468
475
  - lib/convenient_service/core/entities/config/entities/method_middlewares/entities/container/concern/class_methods.rb
469
476
  - lib/convenient_service/core/entities/config/entities/method_middlewares/entities/container/concern/instance_methods.rb
470
477
  - lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middleware.rb
478
+ - lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middleware_creator.rb
471
479
  - lib/convenient_service/core/entities/config/entities/method_middlewares/entities/stack.rb
472
480
  - lib/convenient_service/core/entities/config/errors.rb
473
481
  - lib/convenient_service/core/instance_methods.rb
@@ -584,20 +592,15 @@ files:
584
592
  - lib/convenient_service/examples/standard/request_params/utils/object.rb
585
593
  - lib/convenient_service/examples/standard/request_params/utils/object/blank.rb
586
594
  - lib/convenient_service/examples/standard/request_params/utils/object/present.rb
587
- - lib/convenient_service/factories.rb
588
- - lib/convenient_service/factories/arguments.rb
589
- - lib/convenient_service/factories/results.rb
590
- - lib/convenient_service/factories/services.rb
591
- - lib/convenient_service/factories/step.rb
592
- - lib/convenient_service/factories/step/instance.rb
593
- - lib/convenient_service/factories/steps.rb
594
- - lib/convenient_service/factory.rb
595
+ - lib/convenient_service/feature.rb
595
596
  - lib/convenient_service/logger.rb
596
597
  - lib/convenient_service/rspec.rb
597
598
  - lib/convenient_service/rspec/helpers.rb
598
599
  - lib/convenient_service/rspec/helpers/custom.rb
599
600
  - lib/convenient_service/rspec/helpers/custom/ignoring_error.rb
601
+ - lib/convenient_service/rspec/helpers/custom/in_threads.rb
600
602
  - lib/convenient_service/rspec/helpers/custom/stub_service.rb
603
+ - lib/convenient_service/rspec/helpers/custom/stub_service/constants.rb
601
604
  - lib/convenient_service/rspec/helpers/custom/stub_service/entities.rb
602
605
  - lib/convenient_service/rspec/helpers/custom/stub_service/entities/result_spec.rb
603
606
  - lib/convenient_service/rspec/helpers/custom/stub_service/entities/stubbed_service.rb
@@ -606,6 +609,7 @@ files:
606
609
  - lib/convenient_service/rspec/helpers/custom/wrap_method/entities/wrapped_method.rb
607
610
  - lib/convenient_service/rspec/helpers/custom/wrap_method/errors.rb
608
611
  - lib/convenient_service/rspec/helpers/ignoring_error.rb
612
+ - lib/convenient_service/rspec/helpers/in_threads.rb
609
613
  - lib/convenient_service/rspec/helpers/stub_service.rb
610
614
  - lib/convenient_service/rspec/helpers/wrap_method.rb
611
615
  - lib/convenient_service/rspec/matchers.rb
@@ -640,6 +644,7 @@ files:
640
644
  - lib/convenient_service/rspec/matchers/custom/delegate_to/entities/matcher/entities/chainings_collection.rb
641
645
  - lib/convenient_service/rspec/matchers/custom/delegate_to/entities/matcher/entities/chainings_collection/errors.rb
642
646
  - lib/convenient_service/rspec/matchers/custom/delegate_to/entities/matcher/entities/delegation.rb
647
+ - lib/convenient_service/rspec/matchers/custom/export.rb
643
648
  - lib/convenient_service/rspec/matchers/custom/extend_module.rb
644
649
  - lib/convenient_service/rspec/matchers/custom/have_abstract_method.rb
645
650
  - lib/convenient_service/rspec/matchers/custom/have_alias_method.rb
@@ -657,6 +662,7 @@ files:
657
662
  - lib/convenient_service/rspec/matchers/custom/results/base/commands/generate_expected_step_part.rb
658
663
  - lib/convenient_service/rspec/matchers/custom/results/base/commands/generate_got_step_part.rb
659
664
  - lib/convenient_service/rspec/matchers/custom/results/base/commands/match_result_step.rb
665
+ - lib/convenient_service/rspec/matchers/custom/results/base/constants.rb
660
666
  - lib/convenient_service/rspec/matchers/custom/results/base/errors.rb
661
667
  - lib/convenient_service/rspec/matchers/custom/results/be_error.rb
662
668
  - lib/convenient_service/rspec/matchers/custom/results/be_failure.rb
@@ -666,6 +672,7 @@ files:
666
672
  - lib/convenient_service/rspec/matchers/custom/results/be_success.rb
667
673
  - lib/convenient_service/rspec/matchers/custom/singleton_prepend_module.rb
668
674
  - lib/convenient_service/rspec/matchers/delegate_to.rb
675
+ - lib/convenient_service/rspec/matchers/export.rb
669
676
  - lib/convenient_service/rspec/matchers/extend_module.rb
670
677
  - lib/convenient_service/rspec/matchers/have_abstract_method.rb
671
678
  - lib/convenient_service/rspec/matchers/have_alias_method.rb
@@ -685,6 +692,75 @@ files:
685
692
  - lib/convenient_service/service.rb
686
693
  - lib/convenient_service/service/plugins.rb
687
694
  - lib/convenient_service/service/plugins/aliases.rb
695
+ - lib/convenient_service/service/plugins/can_have_method_steps.rb
696
+ - lib/convenient_service/service/plugins/can_have_method_steps/middleware.rb
697
+ - lib/convenient_service/service/plugins/can_have_result_step.rb
698
+ - lib/convenient_service/service/plugins/can_have_result_step/middleware.rb
699
+ - lib/convenient_service/service/plugins/can_have_steps.rb
700
+ - lib/convenient_service/service/plugins/can_have_steps/commands.rb
701
+ - lib/convenient_service/service/plugins/can_have_steps/commands/create_step_class.rb
702
+ - lib/convenient_service/service/plugins/can_have_steps/concern.rb
703
+ - lib/convenient_service/service/plugins/can_have_steps/entities.rb
704
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method.rb
705
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/commands.rb
706
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/cast_method.rb
707
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/cast_method_direction.rb
708
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/cast_method_factory.rb
709
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/define_method_in_container.rb
710
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/concern.rb
711
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/class_methods.rb
712
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb
713
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities.rb
714
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers.rb
715
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/alias.rb
716
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/base.rb
717
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
718
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/raw.rb
719
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment.rb
720
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands.rb
721
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb
722
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/usual.rb
723
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/directions.rb
724
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/directions/base.rb
725
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/directions/input.rb
726
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/directions/output.rb
727
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories.rb
728
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/base.rb
729
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash.rb
730
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/base.rb
731
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/proc_value.rb
732
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/raw_value.rb
733
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/reassignment_value.rb
734
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/string_value.rb
735
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/hash/symbol_value.rb
736
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/method.rb
737
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/reassignment.rb
738
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/string.rb
739
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/factories/symbol.rb
740
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/key.rb
741
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/name.rb
742
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/values.rb
743
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/values/reassignment.rb
744
+ - lib/convenient_service/service/plugins/can_have_steps/entities/method/errors.rb
745
+ - lib/convenient_service/service/plugins/can_have_steps/entities/service.rb
746
+ - lib/convenient_service/service/plugins/can_have_steps/entities/service/class_methods.rb
747
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step.rb
748
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/commands.rb
749
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/cast_params.rb
750
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb
751
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/concern.rb
752
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb
753
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/errors.rb
754
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins.rb
755
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/aliases.rb
756
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_parent_result.rb
757
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_parent_result/middleware.rb
758
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_inspect.rb
759
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_inspect/concern.rb
760
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/structs.rb
761
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step/structs/params.rb
762
+ - lib/convenient_service/service/plugins/can_have_steps/entities/step_collection.rb
763
+ - lib/convenient_service/service/plugins/can_have_steps/middleware.rb
688
764
  - lib/convenient_service/service/plugins/can_have_stubbed_result.rb
689
765
  - lib/convenient_service/service/plugins/can_have_stubbed_result/concern.rb
690
766
  - lib/convenient_service/service/plugins/can_have_stubbed_result/middleware.rb
@@ -703,8 +779,10 @@ files:
703
779
  - lib/convenient_service/service/plugins/has_result/entities/result.rb
704
780
  - lib/convenient_service/service/plugins/has_result/entities/result/concern.rb
705
781
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins.rb
782
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/aliases.rb
706
783
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result.rb
707
784
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result/concern.rb
785
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result/constants.rb
708
786
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result/initialize.rb
709
787
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result/initialize/middleware.rb
710
788
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_have_parent_result/to_kwargs.rb
@@ -713,27 +791,37 @@ files:
713
791
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/can_recalculate_result/concern.rb
714
792
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_inspect.rb
715
793
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_inspect/concern.rb
716
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes.rb
717
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/commands.rb
718
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/commands/cast_jsend_attributes.rb
719
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/concern.rb
720
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/concern/class_methods.rb
721
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/concern/instance_methods.rb
722
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities.rb
723
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/code.rb
724
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/code/concern.rb
725
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/code/concern/class_methods.rb
726
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/code/concern/instance_methods.rb
727
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/data.rb
728
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/data/class_methods.rb
729
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/message.rb
730
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/message/class_methods.rb
731
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/status.rb
732
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/entities/status/class_methods.rb
733
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/errors.rb
734
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/middleware.rb
735
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/structs.rb
736
- - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_jsend_status_and_attributes/structs/jsend_attributes.rb
794
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes.rb
795
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands.rb
796
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/cast_j_send_attributes.rb
797
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_code_class.rb
798
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_data_class.rb
799
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_message_class.rb
800
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/commands/create_status_class.rb
801
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/concern.rb
802
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/concern/class_methods.rb
803
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/concern/instance_methods.rb
804
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities.rb
805
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code.rb
806
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/concern.rb
807
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/concern/class_methods.rb
808
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/concern/instance_methods.rb
809
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data.rb
810
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern.rb
811
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern/class_methods.rb
812
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern/instance_methods.rb
813
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message.rb
814
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern.rb
815
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern/class_methods.rb
816
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern/instance_methods.rb
817
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status.rb
818
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern.rb
819
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern/class_methods.rb
820
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern/instance_methods.rb
821
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/errors.rb
822
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/middleware.rb
823
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/structs.rb
824
+ - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_j_send_status_and_attributes/structs/j_send_attributes.rb
737
825
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_result_short_syntax.rb
738
826
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_result_short_syntax/concern.rb
739
827
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/has_step.rb
@@ -749,8 +837,6 @@ files:
749
837
  - lib/convenient_service/service/plugins/has_result/entities/result/plugins/raises_on_not_checked_result_status/middleware.rb
750
838
  - lib/convenient_service/service/plugins/has_result/errors.rb
751
839
  - lib/convenient_service/service/plugins/has_result/middleware.rb
752
- - lib/convenient_service/service/plugins/has_result_method_steps.rb
753
- - lib/convenient_service/service/plugins/has_result_method_steps/middleware.rb
754
840
  - lib/convenient_service/service/plugins/has_result_params_validations/using_active_model_validations.rb
755
841
  - lib/convenient_service/service/plugins/has_result_params_validations/using_active_model_validations/concern.rb
756
842
  - lib/convenient_service/service/plugins/has_result_params_validations/using_active_model_validations/middleware.rb
@@ -777,59 +863,6 @@ files:
777
863
  - lib/convenient_service/service/plugins/has_result_short_syntax/success/middleware.rb
778
864
  - lib/convenient_service/service/plugins/has_result_status_check_short_syntax.rb
779
865
  - lib/convenient_service/service/plugins/has_result_status_check_short_syntax/concern.rb
780
- - lib/convenient_service/service/plugins/has_result_steps.rb
781
- - lib/convenient_service/service/plugins/has_result_steps/commands.rb
782
- - lib/convenient_service/service/plugins/has_result_steps/commands/create_step_class.rb
783
- - lib/convenient_service/service/plugins/has_result_steps/concern.rb
784
- - lib/convenient_service/service/plugins/has_result_steps/entities.rb
785
- - lib/convenient_service/service/plugins/has_result_steps/entities/method.rb
786
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands.rb
787
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method.rb
788
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_caller.rb
789
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_direction.rb
790
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_key.rb
791
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/cast_method_name.rb
792
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/commands/define_method_in_container.rb
793
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/concern.rb
794
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/concern/class_methods.rb
795
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/concern/instance_methods.rb
796
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities.rb
797
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers.rb
798
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/alias.rb
799
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/base.rb
800
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/proc.rb
801
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/raw.rb
802
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/reassignment.rb
803
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/reassignment/commands.rb
804
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb
805
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/usual.rb
806
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/directions.rb
807
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/directions/base.rb
808
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/directions/input.rb
809
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/directions/output.rb
810
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/key.rb
811
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/name.rb
812
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/values.rb
813
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/values/reassignment.rb
814
- - lib/convenient_service/service/plugins/has_result_steps/entities/method/errors.rb
815
- - lib/convenient_service/service/plugins/has_result_steps/entities/service.rb
816
- - lib/convenient_service/service/plugins/has_result_steps/entities/service/class_methods.rb
817
- - lib/convenient_service/service/plugins/has_result_steps/entities/step.rb
818
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/commands.rb
819
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/commands/cast_params.rb
820
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/commands/extract_params.rb
821
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/concern.rb
822
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/concern/instance_methods.rb
823
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/errors.rb
824
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/plugins.rb
825
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/plugins/can_have_parent_result.rb
826
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/plugins/can_have_parent_result/middleware.rb
827
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/plugins/has_inspect.rb
828
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/plugins/has_inspect/concern.rb
829
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/structs.rb
830
- - lib/convenient_service/service/plugins/has_result_steps/entities/step/structs/params.rb
831
- - lib/convenient_service/service/plugins/has_result_steps/entities/step_collection.rb
832
- - lib/convenient_service/service/plugins/has_result_steps/middleware.rb
833
866
  - lib/convenient_service/service/plugins/raises_on_double_result.rb
834
867
  - lib/convenient_service/service/plugins/raises_on_double_result/errors.rb
835
868
  - lib/convenient_service/service/plugins/raises_on_double_result/middleware.rb
@@ -861,18 +894,24 @@ files:
861
894
  - lib/convenient_service/support/command.rb
862
895
  - lib/convenient_service/support/concern.rb
863
896
  - lib/convenient_service/support/copyable.rb
897
+ - lib/convenient_service/support/counter.rb
864
898
  - lib/convenient_service/support/delegate.rb
865
899
  - lib/convenient_service/support/dependency_container.rb
866
900
  - lib/convenient_service/support/dependency_container/commands.rb
901
+ - lib/convenient_service/support/dependency_container/commands/assert_valid_container.rb
902
+ - lib/convenient_service/support/dependency_container/commands/assert_valid_method.rb
867
903
  - lib/convenient_service/support/dependency_container/commands/assert_valid_scope.rb
868
904
  - lib/convenient_service/support/dependency_container/commands/create_methods_module.rb
905
+ - lib/convenient_service/support/dependency_container/commands/define_entry.rb
869
906
  - lib/convenient_service/support/dependency_container/commands/import_method.rb
870
907
  - lib/convenient_service/support/dependency_container/constants.rb
908
+ - lib/convenient_service/support/dependency_container/container.rb
871
909
  - lib/convenient_service/support/dependency_container/entities.rb
872
910
  - lib/convenient_service/support/dependency_container/entities/method.rb
873
911
  - lib/convenient_service/support/dependency_container/entities/method_collection.rb
874
912
  - lib/convenient_service/support/dependency_container/entities/namespace.rb
875
913
  - lib/convenient_service/support/dependency_container/entities/namespace_collection.rb
914
+ - lib/convenient_service/support/dependency_container/entry.rb
876
915
  - lib/convenient_service/support/dependency_container/errors.rb
877
916
  - lib/convenient_service/support/dependency_container/export.rb
878
917
  - lib/convenient_service/support/dependency_container/import.rb
@@ -885,7 +924,10 @@ files:
885
924
  - lib/convenient_service/support/not_passed.rb
886
925
  - lib/convenient_service/support/raw_value.rb
887
926
  - lib/convenient_service/support/ruby.rb
927
+ - lib/convenient_service/support/safe_method.rb
928
+ - lib/convenient_service/support/thread_safe_counter.rb
888
929
  - lib/convenient_service/support/undefined.rb
930
+ - lib/convenient_service/support/unique_value.rb
889
931
  - lib/convenient_service/support/version.rb
890
932
  - lib/convenient_service/support/version/null_version.rb
891
933
  - lib/convenient_service/utils.rb
@@ -917,6 +959,7 @@ files:
917
959
  - lib/convenient_service/utils/object/instance_variable_delete.rb
918
960
  - lib/convenient_service/utils/object/instance_variable_fetch.rb
919
961
  - lib/convenient_service/utils/object/memoize_including_falsy_values.rb
962
+ - lib/convenient_service/utils/object/resolve_class.rb
920
963
  - lib/convenient_service/utils/object/resolve_type.rb
921
964
  - lib/convenient_service/utils/proc.rb
922
965
  - lib/convenient_service/utils/proc/conjunct.rb
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- # WIP: Factory API is NOT well-thought yet. It will be revisited and completely refactored at any time.
5
- #
6
- module ConvenientService
7
- module Factories
8
- module Arguments
9
- ##
10
- # @return [Array]
11
- #
12
- # @example Default.
13
- #
14
- # hello(*args)
15
- #
16
- def create_args
17
- [:foo, :bar]
18
- end
19
-
20
- ##
21
- # @return [Hash]
22
- #
23
- # @example Default.
24
- #
25
- # hello(**kwargs)
26
- #
27
- def create_kwargs
28
- {foo: :bar, baz: :qux}
29
- end
30
-
31
- ##
32
- # @return [Hash]
33
- #
34
- # @example Default.
35
- #
36
- # hello(&block)
37
- #
38
- def create_block
39
- proc { :foo }
40
- end
41
- end
42
- end
43
- end
@@ -1,214 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- ##
4
- # WIP: Factory API is NOT well-thought yet. It will be revisited and completely refactored at any time.
5
- #
6
- module ConvenientService
7
- module Factories
8
- module Results
9
- ##
10
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
11
- #
12
- # @example Default.
13
- #
14
- # class Service
15
- # include ConvenientService::Standard::Config
16
- #
17
- # def result
18
- # success # `result` is return value
19
- # end
20
- # end
21
- #
22
- def create_result
23
- service_class = create_service_class
24
-
25
- service_class.result
26
- end
27
-
28
- ##
29
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
30
- #
31
- # @example Default.
32
- #
33
- # class Service
34
- # include ConvenientService::Standard::Config
35
- #
36
- # def result
37
- # success # `result` is return value
38
- # end
39
- # end
40
- #
41
- def create_result_without_step
42
- service_class = create_service_class
43
-
44
- service_class.result
45
- end
46
-
47
- ##
48
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
49
- #
50
- # @example Default.
51
- #
52
- # class Service
53
- # include ConvenientService::Standard::Config
54
- #
55
- # step Step # `result` is return value
56
- # end
57
- #
58
- def create_result_with_step(...)
59
- create_result_with_service_step(...)
60
- end
61
-
62
- ##
63
- # @param service_step [Class]
64
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
65
- #
66
- # @example Default.
67
- #
68
- # class Service
69
- # include ConvenientService::Standard::Config
70
- #
71
- # step Step # `result` is return value
72
- # end
73
- #
74
- # @example When `service_step` is passed.
75
- #
76
- # class Service
77
- # include ConvenientService::Standard::Config
78
- #
79
- # step service_step # `result` is return value
80
- # end
81
- #
82
- def create_result_with_service_step(service_step: Support::NOT_PASSED)
83
- service_step_class = (service_step == Support::NOT_PASSED) ? create_service_step_class : service_step
84
-
85
- service_class = create_service_class(steps: [service_step_class])
86
-
87
- service_class.result
88
- end
89
-
90
- ##
91
- # @param method_step [Symbol]
92
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
93
- #
94
- # @example Default.
95
- #
96
- # class Service
97
- # include ConvenientService::Standard::Config
98
- #
99
- # step :validate # `result` is return value
100
- # end
101
- #
102
- # @example When `method_step` is passed.
103
- #
104
- # class Service
105
- # include ConvenientService::Standard::Config
106
- #
107
- # step method_step # `result` is return value
108
- # end
109
- #
110
- def create_result_with_method_step(method_step: Support::NOT_PASSED)
111
- method_step = (method_step == Support::NOT_PASSED) ? create_method_step : method_step
112
-
113
- service_class = create_service_class(steps: [method_step])
114
-
115
- service_class.result
116
- end
117
-
118
- ##
119
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
120
- #
121
- # @example Default.
122
- #
123
- # class Service
124
- # include ConvenientService::Standard::Config
125
- #
126
- # step :result # `result` is return value
127
- # end
128
- #
129
- def create_result_with_result_method_step
130
- service_class = create_service_class(steps: [:result])
131
-
132
- service_class.result
133
- end
134
-
135
- ##
136
- # @return [Hash]
137
- #
138
- # @example Default.
139
- #
140
- # {
141
- # service: result.service,
142
- # status: :success,
143
- # data: {foo: :bar},
144
- # message: "",
145
- # code: :default_success
146
- # }
147
- #
148
- def create_result_attributes
149
- create_result.jsend_attributes.to_h
150
- end
151
-
152
- ##
153
- # @return [Hash]
154
- #
155
- # @example Default.
156
- #
157
- # {
158
- # service: result.service,
159
- # status: :success,
160
- # data: {foo: :bar},
161
- # message: "",
162
- # code: :default_success,
163
- # parent: result.parent
164
- # }
165
- #
166
- def create_result_attributes_with_parent(parent: Support::NOT_PASSED)
167
- parent = (parent == Support::NOT_PASSED) ? create_result_parent : parent
168
-
169
- result_attributes = create_result_attributes
170
-
171
- result_attributes.merge(parent: parent)
172
- end
173
-
174
- ##
175
- # @return [Hash]
176
- #
177
- # @example Default.
178
- #
179
- # {
180
- # service: result.service,
181
- # status: :success,
182
- # data: {foo: :bar},
183
- # message: "",
184
- # code: :default_success,
185
- # step: result.step
186
- # }
187
- #
188
- def create_result_attributes_with_step(step: Support::NOT_PASSED)
189
- step = (step == Support::NOT_PASSED) ? create_result_step : step
190
-
191
- result_attributes = create_result_attributes
192
-
193
- result_attributes.merge(step: step)
194
- end
195
-
196
- ##
197
- # @return [ConvenientService::Service::Plugins::HasResult::Entities::Result]
198
- #
199
- # @example Default.
200
- #
201
- # class Service
202
- # include ConvenientService::Standard::Config
203
- #
204
- # def result
205
- # success # `result_parent` is return value
206
- # end
207
- # end
208
- #
209
- def create_result_parent
210
- create_result
211
- end
212
- end
213
- end
214
- end