convenient_service 0.16.0 → 0.18.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (486) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +5 -5
  3. data/lib/convenient_service/common/plugins/can_have_user_provided_entity/commands/find_or_create_entity.rb +7 -2
  4. data/lib/convenient_service/common/plugins/can_have_user_provided_entity/exceptions.rb +4 -4
  5. data/lib/convenient_service/common/plugins/ensures_negated_j_send_result/middleware.rb +22 -0
  6. data/lib/convenient_service/common/plugins/ensures_negated_j_send_result.rb +3 -0
  7. data/lib/convenient_service/common/plugins/has_around_callbacks/concern.rb +8 -1
  8. data/lib/convenient_service/common/plugins/has_around_callbacks/exceptions.rb +2 -2
  9. data/lib/convenient_service/common/plugins/has_around_callbacks/middleware.rb +30 -9
  10. data/lib/convenient_service/common/plugins/has_callbacks/concern.rb +19 -9
  11. data/lib/convenient_service/common/plugins/has_callbacks/entities/callback_collection.rb +49 -1
  12. data/lib/convenient_service/common/plugins/has_callbacks/middleware.rb +21 -3
  13. data/lib/convenient_service/common/plugins/has_callbacks.rb +0 -1
  14. data/lib/convenient_service/common/plugins/has_instance_proxy/commands/create_instance_proxy_class.rb +83 -0
  15. data/lib/convenient_service/common/plugins/has_instance_proxy/commands.rb +3 -0
  16. data/lib/convenient_service/common/plugins/has_instance_proxy/concern.rb +22 -0
  17. data/lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb +76 -0
  18. data/lib/convenient_service/common/plugins/has_instance_proxy/entities.rb +3 -0
  19. data/lib/convenient_service/common/plugins/has_instance_proxy/middleware.rb +20 -0
  20. data/lib/convenient_service/common/plugins/has_instance_proxy.rb +6 -0
  21. data/lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/has_cache/concern.rb +12 -0
  22. data/lib/convenient_service/common/plugins.rb +2 -0
  23. data/lib/convenient_service/core/concern/class_methods.rb +7 -2
  24. data/lib/convenient_service/core/concern/instance_methods.rb +7 -2
  25. data/lib/convenient_service/core/entities/config/commands/track_method_missing_commit_trigger.rb +1 -1
  26. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/caller/commands/define_method_middlewares_caller.rb +2 -2
  27. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middlewares/base/commands/create_observable_middleware.rb +3 -0
  28. data/lib/convenient_service/core/entities/config/exceptions.rb +6 -4
  29. data/lib/convenient_service/core/entities/config.rb +4 -1
  30. data/lib/convenient_service/dependencies/extractions/active_support_backtrace_cleaner/backtrace_cleaner.rb +28 -8
  31. data/lib/convenient_service/dependencies/extractions/active_support_backtrace_cleaner.rb +3 -3
  32. data/lib/convenient_service/dependencies/extractions/b.rb +2 -0
  33. data/lib/convenient_service/dependencies/extractions/ce.rb +16 -0
  34. data/lib/convenient_service/dependencies/extractions.rb +1 -0
  35. data/lib/convenient_service/dependencies.rb +17 -4
  36. data/lib/convenient_service/exception.rb +98 -10
  37. data/lib/convenient_service/feature/configs/standard.rb +8 -0
  38. data/lib/convenient_service/feature/plugins/can_have_entries/commands/define_entries.rb +49 -0
  39. data/lib/convenient_service/feature/plugins/can_have_entries/commands/define_entry.rb +18 -4
  40. data/lib/convenient_service/feature/plugins/can_have_entries/commands.rb +1 -0
  41. data/lib/convenient_service/feature/plugins/can_have_entries/concern.rb +13 -4
  42. data/lib/convenient_service/feature/plugins/can_have_entries/exceptions.rb +14 -4
  43. data/lib/convenient_service/logger.rb +13 -2
  44. data/lib/convenient_service/rspec/helpers/classes/stub_service/entities/result_spec.rb +0 -8
  45. data/lib/convenient_service/rspec/helpers/classes/wrap_method/entities/wrapped_method.rb +5 -5
  46. data/lib/convenient_service/rspec/helpers/classes/wrap_method/exceptions.rb +2 -2
  47. data/lib/convenient_service/rspec/matchers/classes/call_chain_next.rb +41 -0
  48. data/lib/convenient_service/rspec/matchers/classes/results/base/entities/validator/commands/validate_result_step.rb +1 -1
  49. data/lib/convenient_service/rspec/matchers/classes/results/base/exceptions.rb +2 -2
  50. data/lib/convenient_service/rspec/primitive_helpers/classes/ignoring_exception/exceptions.rb +2 -2
  51. data/lib/convenient_service/rspec/primitive_helpers/classes/ignoring_exception.rb +1 -1
  52. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/commands/generate_printable_method.rb +46 -0
  53. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/delegation.rb +89 -0
  54. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb +223 -0
  55. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/outputs.rb +38 -0
  56. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matcher_collection.rb +157 -0
  57. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments/commands/apply_stub_to_track_delegations.rb +77 -0
  58. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments/commands/generate_printable_arguments.rb +94 -0
  59. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments.rb +89 -0
  60. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/base.rb +99 -0
  61. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/return_custom_value.rb +91 -0
  62. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/return_delegation_value.rb +129 -0
  63. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/with_any_arguments.rb +31 -0
  64. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/with_concrete_arguments.rb +31 -0
  65. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/without_arguments.rb +31 -0
  66. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers.rb +11 -0
  67. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities.rb +5 -1
  68. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/exceptions.rb +65 -0
  69. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to.rb +163 -41
  70. data/lib/convenient_service/service/configs/minimal.rb +85 -33
  71. data/lib/convenient_service/service/configs/standard/v1.rb +42 -24
  72. data/lib/convenient_service/service/configs/standard.rb +60 -46
  73. data/lib/convenient_service/service/plugins/can_have_connected_steps/concern.rb +503 -0
  74. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/and.rb +133 -0
  75. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/base.rb +126 -0
  76. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/empty.rb +104 -0
  77. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/group.rb +118 -0
  78. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/not.rb +118 -0
  79. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb +145 -0
  80. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/scalar.rb +133 -0
  81. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions.rb +10 -0
  82. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/step_collection.rb +217 -0
  83. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities.rb +4 -0
  84. data/lib/convenient_service/service/plugins/can_have_connected_steps/exceptions.rb +95 -0
  85. data/lib/convenient_service/service/plugins/can_have_connected_steps/middleware.rb +30 -0
  86. data/lib/convenient_service/service/plugins/can_have_connected_steps.rb +6 -0
  87. data/lib/convenient_service/service/plugins/can_have_fallbacks/concern.rb +2 -2
  88. data/lib/convenient_service/service/plugins/can_have_fallbacks/exceptions.rb +4 -4
  89. data/lib/convenient_service/service/plugins/can_have_fallbacks/middleware.rb +1 -1
  90. data/lib/convenient_service/service/plugins/can_have_sequential_steps/concern.rb +76 -0
  91. data/lib/convenient_service/service/plugins/{can_have_steps → can_have_sequential_steps}/entities/step_collection.rb +54 -10
  92. data/lib/convenient_service/service/plugins/can_have_sequential_steps/entities.rb +3 -0
  93. data/lib/convenient_service/service/plugins/{can_have_steps → can_have_sequential_steps}/middleware.rb +7 -3
  94. data/lib/convenient_service/service/plugins/can_have_sequential_steps.rb +5 -0
  95. data/lib/convenient_service/service/plugins/can_have_steps/concern.rb +5 -58
  96. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/define_method_in_container.rb +45 -26
  97. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/concern/instance_methods.rb +1 -1
  98. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/alias.rb +2 -2
  99. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb +1 -1
  100. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/raw.rb +1 -1
  101. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment.rb +2 -4
  102. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/usual.rb +2 -2
  103. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/directions/input.rb +2 -2
  104. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/directions/output.rb +1 -1
  105. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/exceptions.rb +27 -47
  106. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb +156 -81
  107. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/exceptions.rb +21 -2
  108. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/{can_be_result_step → can_be_method_step}/can_be_executed/exceptions.rb +3 -3
  109. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/can_be_executed/middleware.rb +64 -4
  110. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/can_be_executed.rb +1 -0
  111. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/concern.rb +7 -0
  112. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_alternative_steps.rb +3 -0
  113. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/concern.rb +0 -46
  114. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/middleware.rb +26 -2
  115. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_parent_result/middleware.rb +13 -1
  116. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/{can_be_result_step → has_result}/concern.rb +8 -4
  117. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/middleware.rb +33 -0
  118. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result.rb +4 -0
  119. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/raises_on_not_result_return_value/exceptions.rb +2 -2
  120. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/raises_on_not_result_return_value/middleware.rb +1 -1
  121. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins.rb +2 -1
  122. data/lib/convenient_service/service/plugins/can_have_steps/entities.rb +0 -1
  123. data/lib/convenient_service/service/plugins/can_have_steps.rb +0 -1
  124. data/lib/convenient_service/service/plugins/has_inspect/concern.rb +0 -1
  125. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/concern.rb +2 -2
  126. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status.rb +0 -1
  127. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/concern/instance_methods.rb +140 -0
  128. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern/instance_methods.rb +1 -1
  129. 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 +45 -3
  130. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/can_be_checked/concern.rb +38 -0
  131. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/can_be_checked/middleware.rb +51 -0
  132. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/can_be_checked.rb +4 -0
  133. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins.rb +1 -0
  134. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/exceptions.rb +17 -2
  135. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result/concern.rb +72 -0
  136. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result.rb +3 -0
  137. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/raises_on_not_checked_result_status/exceptions.rb +2 -2
  138. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/raises_on_not_checked_result_status/middleware.rb +2 -2
  139. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins.rb +1 -0
  140. data/lib/convenient_service/service/plugins/has_j_send_result.rb +39 -1
  141. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/middleware.rb +4 -0
  142. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/error/exceptions.rb +6 -6
  143. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/error/middleware.rb +3 -3
  144. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/failure/exceptions.rb +6 -6
  145. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/failure/middleware.rb +3 -3
  146. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/success/commands/refute_kwargs_contain_j_send_and_extra_keys.rb +1 -1
  147. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/success/exceptions.rb +2 -2
  148. data/lib/convenient_service/service/plugins/has_j_send_result_status_check_short_syntax/concern.rb +0 -8
  149. data/lib/convenient_service/service/plugins/has_negated_j_send_result/concern.rb +23 -0
  150. data/lib/convenient_service/service/plugins/has_negated_j_send_result.rb +3 -0
  151. data/lib/convenient_service/service/plugins/has_negated_result/concern.rb +33 -0
  152. data/lib/convenient_service/service/plugins/has_negated_result/exceptions.rb +21 -0
  153. data/lib/convenient_service/service/plugins/has_negated_result.rb +4 -0
  154. data/lib/convenient_service/service/plugins/has_result/concern.rb +1 -1
  155. data/lib/convenient_service/service/plugins/has_result/exceptions.rb +2 -2
  156. data/lib/convenient_service/service/plugins/raises_on_double_result/exceptions.rb +2 -2
  157. data/lib/convenient_service/service/plugins/raises_on_double_result/middleware.rb +1 -1
  158. data/lib/convenient_service/service/plugins/raises_on_not_result_return_value/exceptions.rb +2 -2
  159. data/lib/convenient_service/service/plugins/raises_on_not_result_return_value/middleware.rb +1 -1
  160. data/lib/convenient_service/service/plugins/{wraps_result_in_db_transaction → wraps_result_in_d_b_transaction}/middleware.rb +1 -1
  161. data/lib/convenient_service/service/plugins.rb +7 -2
  162. data/lib/convenient_service/specification.rb +28 -0
  163. data/lib/convenient_service/support/abstract_method/exceptions.rb +2 -2
  164. data/lib/convenient_service/support/abstract_method.rb +1 -1
  165. data/lib/convenient_service/support/backtrace_cleaner.rb +128 -0
  166. data/lib/convenient_service/support/cache/entities/caches/base.rb +3 -0
  167. data/lib/convenient_service/support/cache/exceptions.rb +2 -2
  168. data/lib/convenient_service/support/cache.rb +1 -1
  169. data/lib/convenient_service/support/castable/exceptions.rb +4 -4
  170. data/lib/convenient_service/support/castable.rb +1 -1
  171. data/lib/convenient_service/support/command.rb +3 -3
  172. data/lib/convenient_service/support/counter.rb +6 -6
  173. data/lib/convenient_service/support/dependency_container/commands/assert_valid_container.rb +1 -1
  174. data/lib/convenient_service/support/dependency_container/commands/assert_valid_method.rb +1 -1
  175. data/lib/convenient_service/support/dependency_container/commands/assert_valid_scope.rb +1 -1
  176. data/lib/convenient_service/support/dependency_container/exceptions.rb +8 -8
  177. data/lib/convenient_service/support/dependency_container/export.rb +1 -1
  178. data/lib/convenient_service/support/finite_loop.rb +6 -6
  179. data/lib/convenient_service/support/method_parameters.rb +121 -0
  180. data/lib/convenient_service/support/never_reach_here.rb +21 -0
  181. data/lib/convenient_service/support/unique_value.rb +3 -0
  182. data/lib/convenient_service/support/value.rb +78 -0
  183. data/lib/convenient_service/support.rb +4 -0
  184. data/lib/convenient_service/utils/array/exceptions.rb +2 -2
  185. data/lib/convenient_service/utils/array/find_last.rb +8 -3
  186. data/lib/convenient_service/utils/array/merge.rb +1 -1
  187. data/lib/convenient_service/utils/hash/assert_valid_keys.rb +1 -1
  188. data/lib/convenient_service/utils/object/instance_variable_delete.rb +1 -1
  189. data/lib/convenient_service/version.rb +1 -1
  190. data/lib/convenient_service.rb +121 -0
  191. metadata +129 -347
  192. data/.dev/.tmuxinator.yml +0 -22
  193. data/.dockerignore +0 -1
  194. data/.gem_release.yml +0 -11
  195. data/.github/contributing.md +0 -15
  196. data/.github/issue_template.md +0 -35
  197. data/.github/pull_request_template.md +0 -31
  198. data/.github/workflows/cd.yml +0 -68
  199. data/.github/workflows/ci.yml +0 -212
  200. data/.gitignore +0 -66
  201. data/.inch.yml +0 -7
  202. data/.rspec +0 -3
  203. data/.rubocop.yml +0 -45
  204. data/.rubocop_rspec.yml +0 -58
  205. data/.ruby-version +0 -1
  206. data/.tool-versions +0 -1
  207. data/.vscode/CacheItsValue.code-snippets +0 -15
  208. data/.vscode/DelegateTo.code-snippets +0 -15
  209. data/.vscode/cache_its_value.code-snippets +0 -17
  210. data/.vscode/comparison.code-snippets +0 -41
  211. data/.vscode/delegate_to.code-snippets +0 -20
  212. data/.yardopts +0 -16
  213. data/Appraisals +0 -146
  214. data/CHANGELOG.md +0 -474
  215. data/Gemfile +0 -17
  216. data/ROADMAP.md +0 -92
  217. data/Rakefile +0 -54
  218. data/Taskfile.yml +0 -679
  219. data/benchmark/commit_config/ips.rb +0 -18
  220. data/benchmark/commit_config/profile.rb +0 -30
  221. data/benchmark/empty_service/ips.rb +0 -123
  222. data/benchmark/has_committed_config/ips.rb +0 -78
  223. data/benchmark/has_committed_config/profile.rb +0 -30
  224. data/convenient_service.gemspec +0 -214
  225. data/coverage/.gitkeep +0 -0
  226. data/docker/2.7/Dockerfile +0 -73
  227. data/docker/3.0/Dockerfile +0 -73
  228. data/docker/3.1/Dockerfile +0 -73
  229. data/docker/3.2/Dockerfile +0 -73
  230. data/docker/jruby-9.4/Dockerfile +0 -88
  231. data/docker/truffleruby-22.3/Dockerfile +0 -91
  232. data/docs/.gitkeep +0 -0
  233. data/docs/api/.gitkeep +0 -0
  234. data/env.rb +0 -23
  235. data/gemfiles/.gitkeep +0 -0
  236. data/lib/convenient_service/common/plugins/has_callbacks/container.rb +0 -17
  237. data/lib/convenient_service/examples/dry/gemfile/dry_service/config.rb +0 -45
  238. data/lib/convenient_service/examples/dry/gemfile/dry_service.rb +0 -3
  239. data/lib/convenient_service/examples/dry/gemfile/services/assert_file_exists.rb +0 -29
  240. data/lib/convenient_service/examples/dry/gemfile/services/assert_file_not_empty.rb +0 -29
  241. data/lib/convenient_service/examples/dry/gemfile/services/assert_node_available.rb +0 -26
  242. data/lib/convenient_service/examples/dry/gemfile/services/assert_npm_package_available.rb +0 -39
  243. data/lib/convenient_service/examples/dry/gemfile/services/assert_valid_ruby_syntax.rb +0 -41
  244. data/lib/convenient_service/examples/dry/gemfile/services/format.rb +0 -37
  245. data/lib/convenient_service/examples/dry/gemfile/services/format_body.rb +0 -93
  246. data/lib/convenient_service/examples/dry/gemfile/services/format_gems_with_envs.rb +0 -96
  247. data/lib/convenient_service/examples/dry/gemfile/services/format_gems_without_envs.rb +0 -84
  248. data/lib/convenient_service/examples/dry/gemfile/services/format_header.rb +0 -74
  249. data/lib/convenient_service/examples/dry/gemfile/services/parse_content.rb +0 -93
  250. data/lib/convenient_service/examples/dry/gemfile/services/print_shell_command.rb +0 -44
  251. data/lib/convenient_service/examples/dry/gemfile/services/read_file_content.rb +0 -31
  252. data/lib/convenient_service/examples/dry/gemfile/services/run_shell_command.rb +0 -45
  253. data/lib/convenient_service/examples/dry/gemfile/services/strip_comments.rb +0 -109
  254. data/lib/convenient_service/examples/dry/gemfile/services.rb +0 -18
  255. data/lib/convenient_service/examples/dry/gemfile.rb +0 -27
  256. data/lib/convenient_service/examples/dry/v1/gemfile/dry_service/config.rb +0 -47
  257. data/lib/convenient_service/examples/dry/v1/gemfile/dry_service.rb +0 -3
  258. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_file_exists.rb +0 -31
  259. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_file_not_empty.rb +0 -31
  260. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_node_available.rb +0 -28
  261. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_npm_package_available.rb +0 -41
  262. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -43
  263. data/lib/convenient_service/examples/dry/v1/gemfile/services/format.rb +0 -39
  264. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_body.rb +0 -95
  265. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_gems_with_envs.rb +0 -98
  266. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_gems_without_envs.rb +0 -86
  267. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_header.rb +0 -76
  268. data/lib/convenient_service/examples/dry/v1/gemfile/services/parse_content.rb +0 -95
  269. data/lib/convenient_service/examples/dry/v1/gemfile/services/read_file_content.rb +0 -33
  270. data/lib/convenient_service/examples/dry/v1/gemfile/services/run_shell_command.rb +0 -43
  271. data/lib/convenient_service/examples/dry/v1/gemfile/services/strip_comments.rb +0 -111
  272. data/lib/convenient_service/examples/dry/v1/gemfile/services.rb +0 -17
  273. data/lib/convenient_service/examples/dry/v1/gemfile.rb +0 -29
  274. data/lib/convenient_service/examples/rails/gemfile/rails_service/config.rb +0 -56
  275. data/lib/convenient_service/examples/rails/gemfile/rails_service.rb +0 -3
  276. data/lib/convenient_service/examples/rails/gemfile/services/assert_file_exists.rb +0 -25
  277. data/lib/convenient_service/examples/rails/gemfile/services/assert_file_not_empty.rb +0 -25
  278. data/lib/convenient_service/examples/rails/gemfile/services/assert_node_available.rb +0 -26
  279. data/lib/convenient_service/examples/rails/gemfile/services/assert_npm_package_available.rb +0 -35
  280. data/lib/convenient_service/examples/rails/gemfile/services/assert_valid_ruby_syntax.rb +0 -35
  281. data/lib/convenient_service/examples/rails/gemfile/services/format.rb +0 -66
  282. data/lib/convenient_service/examples/rails/gemfile/services/format_body.rb +0 -79
  283. data/lib/convenient_service/examples/rails/gemfile/services/format_gems_with_envs.rb +0 -82
  284. data/lib/convenient_service/examples/rails/gemfile/services/format_gems_without_envs.rb +0 -70
  285. data/lib/convenient_service/examples/rails/gemfile/services/format_header.rb +0 -68
  286. data/lib/convenient_service/examples/rails/gemfile/services/merge_sections.rb +0 -25
  287. data/lib/convenient_service/examples/rails/gemfile/services/parse_content.rb +0 -89
  288. data/lib/convenient_service/examples/rails/gemfile/services/print_shell_command.rb +0 -40
  289. data/lib/convenient_service/examples/rails/gemfile/services/read_file_content.rb +0 -27
  290. data/lib/convenient_service/examples/rails/gemfile/services/replace_file_content.rb +0 -37
  291. data/lib/convenient_service/examples/rails/gemfile/services/run_shell_command.rb +0 -40
  292. data/lib/convenient_service/examples/rails/gemfile/services/strip_comments.rb +0 -107
  293. data/lib/convenient_service/examples/rails/gemfile/services.rb +0 -21
  294. data/lib/convenient_service/examples/rails/gemfile.rb +0 -27
  295. data/lib/convenient_service/examples/rails/v1/gemfile/rails_service/config.rb +0 -58
  296. data/lib/convenient_service/examples/rails/v1/gemfile/rails_service.rb +0 -3
  297. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_file_exists.rb +0 -27
  298. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_file_not_empty.rb +0 -27
  299. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_node_available.rb +0 -28
  300. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_npm_package_available.rb +0 -37
  301. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -37
  302. data/lib/convenient_service/examples/rails/v1/gemfile/services/format.rb +0 -68
  303. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_body.rb +0 -81
  304. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_gems_with_envs.rb +0 -84
  305. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_gems_without_envs.rb +0 -72
  306. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_header.rb +0 -70
  307. data/lib/convenient_service/examples/rails/v1/gemfile/services/merge_sections.rb +0 -27
  308. data/lib/convenient_service/examples/rails/v1/gemfile/services/parse_content.rb +0 -91
  309. data/lib/convenient_service/examples/rails/v1/gemfile/services/read_file_content.rb +0 -29
  310. data/lib/convenient_service/examples/rails/v1/gemfile/services/replace_file_content.rb +0 -39
  311. data/lib/convenient_service/examples/rails/v1/gemfile/services/run_shell_command.rb +0 -38
  312. data/lib/convenient_service/examples/rails/v1/gemfile/services/strip_comments.rb +0 -109
  313. data/lib/convenient_service/examples/rails/v1/gemfile/services.rb +0 -20
  314. data/lib/convenient_service/examples/rails/v1/gemfile.rb +0 -29
  315. data/lib/convenient_service/examples/standard/cowsay/services/build_cloud.rb +0 -42
  316. data/lib/convenient_service/examples/standard/cowsay/services/build_cow.rb +0 -38
  317. data/lib/convenient_service/examples/standard/cowsay/services/print.rb +0 -32
  318. data/lib/convenient_service/examples/standard/cowsay/services.rb +0 -5
  319. data/lib/convenient_service/examples/standard/cowsay.rb +0 -26
  320. data/lib/convenient_service/examples/standard/date_time/services/safe_parse.rb +0 -31
  321. data/lib/convenient_service/examples/standard/date_time/services.rb +0 -3
  322. data/lib/convenient_service/examples/standard/date_time.rb +0 -25
  323. data/lib/convenient_service/examples/standard/factorial/services/calculate.rb +0 -55
  324. data/lib/convenient_service/examples/standard/factorial/services.rb +0 -3
  325. data/lib/convenient_service/examples/standard/factorial/utils/timeout/with_timeout.rb +0 -50
  326. data/lib/convenient_service/examples/standard/factorial/utils/timeout.rb +0 -21
  327. data/lib/convenient_service/examples/standard/factorial/utils.rb +0 -3
  328. data/lib/convenient_service/examples/standard/factorial.rb +0 -26
  329. data/lib/convenient_service/examples/standard/gemfile/services/assert_file_exists.rb +0 -30
  330. data/lib/convenient_service/examples/standard/gemfile/services/assert_file_not_empty.rb +0 -30
  331. data/lib/convenient_service/examples/standard/gemfile/services/assert_node_available.rb +0 -26
  332. data/lib/convenient_service/examples/standard/gemfile/services/assert_npm_package_available.rb +0 -48
  333. data/lib/convenient_service/examples/standard/gemfile/services/assert_valid_ruby_syntax.rb +0 -39
  334. data/lib/convenient_service/examples/standard/gemfile/services/format.rb +0 -80
  335. data/lib/convenient_service/examples/standard/gemfile/services/format_body.rb +0 -83
  336. data/lib/convenient_service/examples/standard/gemfile/services/format_gems_with_envs.rb +0 -86
  337. data/lib/convenient_service/examples/standard/gemfile/services/format_gems_without_envs.rb +0 -74
  338. data/lib/convenient_service/examples/standard/gemfile/services/format_header.rb +0 -66
  339. data/lib/convenient_service/examples/standard/gemfile/services/merge_sections.rb +0 -52
  340. data/lib/convenient_service/examples/standard/gemfile/services/parse_content.rb +0 -101
  341. data/lib/convenient_service/examples/standard/gemfile/services/print_shell_command.rb +0 -45
  342. data/lib/convenient_service/examples/standard/gemfile/services/read_file_content.rb +0 -39
  343. data/lib/convenient_service/examples/standard/gemfile/services/replace_file_content.rb +0 -48
  344. data/lib/convenient_service/examples/standard/gemfile/services/run_shell_command.rb +0 -54
  345. data/lib/convenient_service/examples/standard/gemfile/services/strip_comments.rb +0 -111
  346. data/lib/convenient_service/examples/standard/gemfile/services.rb +0 -21
  347. data/lib/convenient_service/examples/standard/gemfile.rb +0 -26
  348. data/lib/convenient_service/examples/standard/request_params/constants.rb +0 -15
  349. data/lib/convenient_service/examples/standard/request_params/entities/description.rb +0 -40
  350. data/lib/convenient_service/examples/standard/request_params/entities/format.rb +0 -40
  351. data/lib/convenient_service/examples/standard/request_params/entities/id.rb +0 -47
  352. data/lib/convenient_service/examples/standard/request_params/entities/logger.rb +0 -21
  353. data/lib/convenient_service/examples/standard/request_params/entities/request.rb +0 -23
  354. data/lib/convenient_service/examples/standard/request_params/entities/source.rb +0 -40
  355. data/lib/convenient_service/examples/standard/request_params/entities/tag.rb +0 -40
  356. data/lib/convenient_service/examples/standard/request_params/entities/title.rb +0 -40
  357. data/lib/convenient_service/examples/standard/request_params/entities.rb +0 -11
  358. data/lib/convenient_service/examples/standard/request_params/services/apply_default_param_values.rb +0 -26
  359. data/lib/convenient_service/examples/standard/request_params/services/cast_params.rb +0 -38
  360. data/lib/convenient_service/examples/standard/request_params/services/extract_params_from_body.rb +0 -70
  361. data/lib/convenient_service/examples/standard/request_params/services/extract_params_from_path.rb +0 -62
  362. data/lib/convenient_service/examples/standard/request_params/services/filter_out_unpermitted_params.rb +0 -26
  363. data/lib/convenient_service/examples/standard/request_params/services/log_request_params.rb +0 -54
  364. data/lib/convenient_service/examples/standard/request_params/services/merge_params.rb +0 -26
  365. data/lib/convenient_service/examples/standard/request_params/services/prepare.rb +0 -65
  366. data/lib/convenient_service/examples/standard/request_params/services/validate_casted_params.rb +0 -94
  367. data/lib/convenient_service/examples/standard/request_params/services/validate_uncasted_params.rb +0 -72
  368. data/lib/convenient_service/examples/standard/request_params/services.rb +0 -13
  369. data/lib/convenient_service/examples/standard/request_params/utils/array/wrap.rb +0 -46
  370. data/lib/convenient_service/examples/standard/request_params/utils/array.rb +0 -21
  371. data/lib/convenient_service/examples/standard/request_params/utils/http/request/parse_body.rb +0 -42
  372. data/lib/convenient_service/examples/standard/request_params/utils/http/request/parse_path.rb +0 -40
  373. data/lib/convenient_service/examples/standard/request_params/utils/http/request.rb +0 -28
  374. data/lib/convenient_service/examples/standard/request_params/utils/http.rb +0 -3
  375. data/lib/convenient_service/examples/standard/request_params/utils/integer/safe_parse.rb +0 -31
  376. data/lib/convenient_service/examples/standard/request_params/utils/integer.rb +0 -25
  377. data/lib/convenient_service/examples/standard/request_params/utils/json/safe_parse.rb +0 -40
  378. data/lib/convenient_service/examples/standard/request_params/utils/json.rb +0 -21
  379. data/lib/convenient_service/examples/standard/request_params/utils/object/blank.rb +0 -34
  380. data/lib/convenient_service/examples/standard/request_params/utils/object/present.rb +0 -31
  381. data/lib/convenient_service/examples/standard/request_params/utils/object.rb +0 -26
  382. data/lib/convenient_service/examples/standard/request_params/utils/url/valid.rb +0 -47
  383. data/lib/convenient_service/examples/standard/request_params/utils/url.rb +0 -21
  384. data/lib/convenient_service/examples/standard/request_params/utils.rb +0 -8
  385. data/lib/convenient_service/examples/standard/request_params.rb +0 -50
  386. data/lib/convenient_service/examples/standard/v1/cowsay/services/build_cloud.rb +0 -44
  387. data/lib/convenient_service/examples/standard/v1/cowsay/services/build_cow.rb +0 -40
  388. data/lib/convenient_service/examples/standard/v1/cowsay/services/print.rb +0 -34
  389. data/lib/convenient_service/examples/standard/v1/cowsay/services.rb +0 -5
  390. data/lib/convenient_service/examples/standard/v1/cowsay.rb +0 -26
  391. data/lib/convenient_service/examples/standard/v1/date_time/services/safe_parse.rb +0 -33
  392. data/lib/convenient_service/examples/standard/v1/date_time/services.rb +0 -3
  393. data/lib/convenient_service/examples/standard/v1/date_time.rb +0 -25
  394. data/lib/convenient_service/examples/standard/v1/factorial/services/calculate.rb +0 -51
  395. data/lib/convenient_service/examples/standard/v1/factorial/services.rb +0 -3
  396. data/lib/convenient_service/examples/standard/v1/factorial/utils/timeout/with_timeout.rb +0 -52
  397. data/lib/convenient_service/examples/standard/v1/factorial/utils/timeout.rb +0 -23
  398. data/lib/convenient_service/examples/standard/v1/factorial/utils.rb +0 -3
  399. data/lib/convenient_service/examples/standard/v1/factorial.rb +0 -26
  400. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_file_exists.rb +0 -32
  401. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_file_not_empty.rb +0 -32
  402. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_node_available.rb +0 -28
  403. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_npm_package_available.rb +0 -50
  404. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -41
  405. data/lib/convenient_service/examples/standard/v1/gemfile/services/format.rb +0 -82
  406. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_body.rb +0 -85
  407. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_gems_with_envs.rb +0 -88
  408. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_gems_without_envs.rb +0 -76
  409. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_header.rb +0 -68
  410. data/lib/convenient_service/examples/standard/v1/gemfile/services/merge_sections.rb +0 -54
  411. data/lib/convenient_service/examples/standard/v1/gemfile/services/parse_content.rb +0 -103
  412. data/lib/convenient_service/examples/standard/v1/gemfile/services/print_shell_command.rb +0 -47
  413. data/lib/convenient_service/examples/standard/v1/gemfile/services/read_file_content.rb +0 -41
  414. data/lib/convenient_service/examples/standard/v1/gemfile/services/replace_file_content.rb +0 -50
  415. data/lib/convenient_service/examples/standard/v1/gemfile/services/run_shell_command.rb +0 -52
  416. data/lib/convenient_service/examples/standard/v1/gemfile/services/strip_comments.rb +0 -113
  417. data/lib/convenient_service/examples/standard/v1/gemfile/services.rb +0 -20
  418. data/lib/convenient_service/examples/standard/v1/gemfile.rb +0 -26
  419. data/lib/convenient_service/examples/standard/v1/request_params/constants.rb +0 -17
  420. data/lib/convenient_service/examples/standard/v1/request_params/entities/description.rb +0 -42
  421. data/lib/convenient_service/examples/standard/v1/request_params/entities/format.rb +0 -42
  422. data/lib/convenient_service/examples/standard/v1/request_params/entities/id.rb +0 -49
  423. data/lib/convenient_service/examples/standard/v1/request_params/entities/logger.rb +0 -23
  424. data/lib/convenient_service/examples/standard/v1/request_params/entities/request.rb +0 -25
  425. data/lib/convenient_service/examples/standard/v1/request_params/entities/source.rb +0 -42
  426. data/lib/convenient_service/examples/standard/v1/request_params/entities/tag.rb +0 -42
  427. data/lib/convenient_service/examples/standard/v1/request_params/entities/title.rb +0 -42
  428. data/lib/convenient_service/examples/standard/v1/request_params/entities.rb +0 -11
  429. data/lib/convenient_service/examples/standard/v1/request_params/services/apply_default_param_values.rb +0 -28
  430. data/lib/convenient_service/examples/standard/v1/request_params/services/cast_params.rb +0 -40
  431. data/lib/convenient_service/examples/standard/v1/request_params/services/extract_params_from_body.rb +0 -72
  432. data/lib/convenient_service/examples/standard/v1/request_params/services/extract_params_from_path.rb +0 -64
  433. data/lib/convenient_service/examples/standard/v1/request_params/services/filter_out_unpermitted_params.rb +0 -28
  434. data/lib/convenient_service/examples/standard/v1/request_params/services/log_request_params.rb +0 -56
  435. data/lib/convenient_service/examples/standard/v1/request_params/services/merge_params.rb +0 -28
  436. data/lib/convenient_service/examples/standard/v1/request_params/services/prepare.rb +0 -67
  437. data/lib/convenient_service/examples/standard/v1/request_params/services/validate_casted_params.rb +0 -96
  438. data/lib/convenient_service/examples/standard/v1/request_params/services/validate_uncasted_params.rb +0 -74
  439. data/lib/convenient_service/examples/standard/v1/request_params/services.rb +0 -13
  440. data/lib/convenient_service/examples/standard/v1/request_params/utils/array/wrap.rb +0 -48
  441. data/lib/convenient_service/examples/standard/v1/request_params/utils/array.rb +0 -23
  442. data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request/parse_body.rb +0 -44
  443. data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request/parse_path.rb +0 -42
  444. data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request.rb +0 -30
  445. data/lib/convenient_service/examples/standard/v1/request_params/utils/http.rb +0 -3
  446. data/lib/convenient_service/examples/standard/v1/request_params/utils/integer/safe_parse.rb +0 -33
  447. data/lib/convenient_service/examples/standard/v1/request_params/utils/integer.rb +0 -27
  448. data/lib/convenient_service/examples/standard/v1/request_params/utils/json/safe_parse.rb +0 -42
  449. data/lib/convenient_service/examples/standard/v1/request_params/utils/json.rb +0 -23
  450. data/lib/convenient_service/examples/standard/v1/request_params/utils/object/blank.rb +0 -36
  451. data/lib/convenient_service/examples/standard/v1/request_params/utils/object/present.rb +0 -33
  452. data/lib/convenient_service/examples/standard/v1/request_params/utils/object.rb +0 -28
  453. data/lib/convenient_service/examples/standard/v1/request_params/utils/url/valid.rb +0 -49
  454. data/lib/convenient_service/examples/standard/v1/request_params/utils/url.rb +0 -23
  455. data/lib/convenient_service/examples/standard/v1/request_params/utils.rb +0 -8
  456. data/lib/convenient_service/examples/standard/v1/request_params.rb +0 -50
  457. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/commands/generate_printable_method.rb +0 -50
  458. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments/commands/apply_stub_to_track_delegations.rb +0 -78
  459. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments/commands/generate_printable_arguments.rb +0 -100
  460. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments.rb +0 -95
  461. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/base.rb +0 -87
  462. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/return_its_value.rb +0 -132
  463. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/with_any_arguments.rb +0 -37
  464. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/with_concrete_arguments.rb +0 -37
  465. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/without_arguments.rb +0 -37
  466. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/base.rb +0 -41
  467. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/with_calling_original.rb +0 -30
  468. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/without_calling_original.rb +0 -30
  469. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings.rb +0 -12
  470. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings_collection/exceptions.rb +0 -57
  471. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings_collection.rb +0 -171
  472. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/delegation.rb +0 -79
  473. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities.rb +0 -5
  474. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher.rb +0 -276
  475. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb +0 -74
  476. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands.rb +0 -3
  477. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step/can_be_executed/middleware.rb +0 -72
  478. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step/can_be_executed.rb +0 -4
  479. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step.rb +0 -5
  480. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/middleware.rb +0 -43
  481. data/lib/convenient_service/service/plugins/has_j_send_result/exceptions.rb +0 -21
  482. data/logo.png +0 -0
  483. data/minitest.rb +0 -30
  484. data/yard/yard-convenient_service_concern.rb +0 -45
  485. /data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/{entities/matcher/commands.rb → commands.rb} +0 -0
  486. /data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/{matcher/entities/chainings/sub_matchers → sub_matchers}/arguments/commands.rb +0 -0
data/CHANGELOG.md DELETED
@@ -1,474 +0,0 @@
1
- # Changelog
2
-
3
- ## [0.16.0](https://github.com/marian13/convenient_service/compare/v0.15.0...v0.16.0) (2023-12-05)
4
-
5
-
6
- ### Features
7
-
8
- * **entry:** allow to use instance method, just like field in graphql-ruby ([ad445fa](https://github.com/marian13/convenient_service/commit/ad445fae5ace9671745b2cacd2f6fae7b5a0e26e))
9
-
10
- ## [0.15.0](https://github.com/marian13/convenient_service/compare/v0.14.0...v0.15.0) (2023-11-10)
11
-
12
-
13
- ### ⚠ BREAKING CHANGES
14
-
15
- * **feature:** allow to use plugins for features
16
-
17
- ### Features
18
-
19
- * **can_have_steps:** do not allow to modify steps from callbacks ([b90b7f7](https://github.com/marian13/convenient_service/commit/b90b7f7b5ba7b9cb12151d02495d1ad1c230504e))
20
- * **feature:** allow to use plugins for features ([17645f8](https://github.com/marian13/convenient_service/commit/17645f888849b5cb42c2ae45aa8430cb96e28eff))
21
-
22
-
23
- ### Bug Fixes
24
-
25
- * **can_have_steps:** introduce raises_on_not_result_return_value for steps ([bb27527](https://github.com/marian13/convenient_service/commit/bb27527b708747df356980cf831c660757fb4093))
26
-
27
-
28
- ### Miscellaneous Chores
29
-
30
- * release 0.15.0 ([7f6a6a7](https://github.com/marian13/convenient_service/commit/7f6a6a74b722eaf26ae7195351a9078c944032dd))
31
-
32
- ## [0.14.0](https://github.com/marian13/convenient_service/compare/v0.13.0...v0.14.0) (2023-09-20)
33
-
34
-
35
- ### ⚠ BREAKING CHANGES
36
-
37
- * **has_j_send_result_params_validations:** return errors on validation issues
38
- * **has_j_send_result_params_validations:** return errors on validation issues
39
- * **can_have_fallbacks:** fallback only failures by default
40
- * **be_result:** update got part
41
- * **has_j_send_result_short:** update constants
42
- * **fallbacks:** create separate fallbacks failures and errors, run only error fallback when true
43
-
44
- ### Features
45
-
46
- * **be_result:** introduce be_result ([f8fc85b](https://github.com/marian13/convenient_service/commit/f8fc85bb9141851c130a040731e4bb99114050d2))
47
- * **can_have_fallbacks:** allow to pass fallback_true_status ([584dabe](https://github.com/marian13/convenient_service/commit/584dabe83f87c2d794ea779a3e5c7f0b0ea97f65))
48
- * **can_have_fallbacks:** fallback only failures by default ([58650a7](https://github.com/marian13/convenient_service/commit/58650a736be0a4daaf283c6eef9e0867a34d44d4))
49
- * **configs:** create copy of v1 ([bb039c8](https://github.com/marian13/convenient_service/commit/bb039c83f53607c4cf59f634c662fc604f13ff7b))
50
- * **examples:** create copy of v1 ([70bd3fe](https://github.com/marian13/convenient_service/commit/70bd3febc4a88ebe7e7c3d33c7dd2e1c03331ccb))
51
- * **has_awesome_print_inspect:** add message and data keys ([14e0a3f](https://github.com/marian13/convenient_service/commit/14e0a3f088edf8ea8565ba7ff06ca0212c4116e9))
52
- * **has_inspect:** add message and data keys ([8f30b7a](https://github.com/marian13/convenient_service/commit/8f30b7a905b8a953d514061ed381a404b65c81af))
53
- * **has_j_send_result_params_validations:** return errors on validation issues ([e25e1a4](https://github.com/marian13/convenient_service/commit/e25e1a4f94cc309035533220dbcfbfccbb94cc94))
54
- * **has_j_send_result_params_validations:** return errors on validation issues ([09a9b94](https://github.com/marian13/convenient_service/commit/09a9b948070f3132818d1da9ef009d1d15655ab9))
55
- * **has_j_send_result_short_syntax:** allow to pass data, message, code to all results ([aabf2f9](https://github.com/marian13/convenient_service/commit/aabf2f98d32407616159cbcd2bcc6349a9a3b98f))
56
- * **has_j_send_result_short_syntax:** allow to pass message and code to short form of error ([1af3153](https://github.com/marian13/convenient_service/commit/1af3153aa1bf385eadcf73f30e13a3cc5126d793))
57
- * **has_j_send_result_short_syntax:** allow to pass message and code to short form of failure ([7390630](https://github.com/marian13/convenient_service/commit/73906300f94ec6488f312d4a611f433d8c850691))
58
- * **has_j_send_result_short_syntax:** allow to pass message and code to short form of success ([fdf2ab2](https://github.com/marian13/convenient_service/commit/fdf2ab23ade8941ed2c6dd10d17769eaebecc855))
59
- * **has_j_send_status_and_attributes:** introduce Data#keys ([27f43e1](https://github.com/marian13/convenient_service/commit/27f43e1594988cc523e9bb3608e90a40e4c2b442))
60
- * **has_j_send_status_and_attributes:** introduce Message#empty? ([6c1452d](https://github.com/marian13/convenient_service/commit/6c1452d99d71be45bb6cb95159a2fd32ffca668e))
61
- * **rescues_result_unhandled_exceptions:** allow to pass status ([2ef85f2](https://github.com/marian13/convenient_service/commit/2ef85f2970dd56802bd22f467529da6242faf967))
62
- * **using_active_model_validations:** allow to pass status to middleware ([bc5bb70](https://github.com/marian13/convenient_service/commit/bc5bb7027fe94724a8d28a3770b68c731b37ff10))
63
- * **using_dry_validation:** allow to pass status to middleware ([3a5ef12](https://github.com/marian13/convenient_service/commit/3a5ef120219a8a94b1d15bb7226f265db967ce9e))
64
-
65
-
66
- ### Miscellaneous Chores
67
-
68
- * release 0.14.0 ([c7cef07](https://github.com/marian13/convenient_service/commit/c7cef0721d8360329c19b8ad4d636bcec83805c6))
69
-
70
-
71
- ### Code Refactoring
72
-
73
- * **be_result:** update got part ([428280a](https://github.com/marian13/convenient_service/commit/428280a8eb2aed09f49bd949f84b7e10ef933708))
74
- * **fallbacks:** create separate fallbacks failures and errors, run only error fallback when true ([bbab564](https://github.com/marian13/convenient_service/commit/bbab5647d09ecdba9c9727bef3e2dc6b8138710b))
75
- * **has_j_send_result_short:** update constants ([2074acd](https://github.com/marian13/convenient_service/commit/2074acd001115dd4c60d432e71a4fef58794c881))
76
-
77
- ## 0.13.0 (2023-08-27)
78
-
79
-
80
- ### ⚠ BREAKING CHANGES
81
-
82
- * **has_j_send_result:** rename HasResult to HasJSendResult
83
- * **has_result_short_syntax:** allow to pass message to failures
84
- * **core:** disallow config commitment by missing private method
85
- * **can_have_stubbed_result:** state explicitly cache backend
86
- * **has_j_send_status_and_attributes:** use Jsend to JSend
87
-
88
- ### Features
89
-
90
- * **alias:** introduce CS alias ([14652d7](https://github.com/marian13/convenient_service/commit/14652d77b6518d1b4ba75fa88eea6aba20ee0e5f))
91
- * **array-based-cache:** add array-based cache implementation ([795888a](https://github.com/marian13/convenient_service/commit/795888a15dbd1e488fe824e6bb8094b9997044e3))
92
- * **be_result:** add trigger for BE_RESULT ([d7a416e](https://github.com/marian13/convenient_service/commit/d7a416e39377378655740d9997695c0100b60258))
93
- * **be_result:** introduce comparing_by ([c304fa7](https://github.com/marian13/convenient_service/commit/c304fa7e4eb15aeae2da075a7947ae835759a605))
94
- * **cache:** introduce thread safe array ([b592853](https://github.com/marian13/convenient_service/commit/b5928536a7dc3e804d386c553da5b9b1e3da1291))
95
- * **call_chain_next:** introduce with_any_arguments ([17316d1](https://github.com/marian13/convenient_service/commit/17316d1f4d6f172f81cc0752ddfb36b9bb8338da))
96
- * **can_be_own_result:** introduce new plugin ([ba7111c](https://github.com/marian13/convenient_service/commit/ba7111c2e01e758affa0e71a4638049fce206243))
97
- * **can_be_tried:** inroduce CanBeTried for result ([9e68538](https://github.com/marian13/convenient_service/commit/9e68538df1207b5bd7906203728b3860324c6d6c))
98
- * **can_be_tried:** introduce step try option ([9c1f493](https://github.com/marian13/convenient_service/commit/9c1f4932b3bf8986624dde9c40580e76b0a0a7ac))
99
- * **can_have_checked_status:** refactor marks_result_status_as_checked to have an ability of a pure status check ([86750dd](https://github.com/marian13/convenient_service/commit/86750dd826ad9b6b8f84e6d26182ac16ec769b8c))
100
- * **can_have_steps:** allow to pass extra kwargs to step definition ([bd867e3](https://github.com/marian13/convenient_service/commit/bd867e3d7e1147889dab982e2b7bea49a95a3d90))
101
- * **can_have_steps:** introduce Step#resolved_result ([68ee612](https://github.com/marian13/convenient_service/commit/68ee612800e61e09e3fb9e18a418ee09261da0bc))
102
- * **can_have_stubbed_results:** use thread safe array backend ([45b9e24](https://github.com/marian13/convenient_service/commit/45b9e249052e154123e1a014a16df0b2b165268b))
103
- * **can_have_try_result:** introduce middleware ([da24051](https://github.com/marian13/convenient_service/commit/da24051cd240a4ec90f3a970f9f721ec13160dc8))
104
- * **can_have_try_result:** introduce Service.try_result ([92914dc](https://github.com/marian13/convenient_service/commit/92914dc3090774baa455e59709bb79a6b8c8c48a))
105
- * **can_have_try_result:** introduce Service#try_result ([521e80f](https://github.com/marian13/convenient_service/commit/521e80f5909bb2c0373a340cb2f4e4c7f3b790c1))
106
- * **can_have_try_result:** use in minimal config ([bf1135d](https://github.com/marian13/convenient_service/commit/bf1135df3bb650ee4190cbfba7bc2c52bec21885))
107
- * **can_utilize_finite_loop:** introduce new plugin ([b161ecf](https://github.com/marian13/convenient_service/commit/b161ecf062e9ef2484862d00eadf5ed7cab6c628))
108
- * **collects_services_in_exception:** add initial version of plugin ([720267a](https://github.com/marian13/convenient_service/commit/720267ab070225892db9743aa379935f16a4b0b5))
109
- * **configs:** add ok? and not_ok? aliases for success? and not_success? ([5dfb378](https://github.com/marian13/convenient_service/commit/5dfb378ea905bf0fd12e0a78b812ecc208efdf2a))
110
- * **core:** add trigger for RESOLVE_METHOD_MIDDLEWARES_SUPER_METHOD ([d419985](https://github.com/marian13/convenient_service/commit/d419985dca3e348b1ee8607aadfd2ea4a0cc84be))
111
- * **core:** commit config from .new ([9e252a0](https://github.com/marian13/convenient_service/commit/9e252a0094e8d55fa5d51c0c33b867f6e16d1882))
112
- * **core:** introduce has_committed_config? ([ae01495](https://github.com/marian13/convenient_service/commit/ae01495c5360675a1a7e825e90f1993c38392d70))
113
- * **core:** introduce middleware arguments ([5ca7868](https://github.com/marian13/convenient_service/commit/5ca7868181d44f0f1eb1f2958270e4c6bbb76646))
114
- * **core:** introduce Middleware.with ([4272262](https://github.com/marian13/convenient_service/commit/427226258cce031679c51a5b4ea900506c995c4a))
115
- * **core:** introduce MiddlewareCreator ([d1b6ce8](https://github.com/marian13/convenient_service/commit/d1b6ce89fdc008359f9fd0ed080c3cfb28bd39b7))
116
- * **core:** introduce observable middleware ([f767a13](https://github.com/marian13/convenient_service/commit/f767a13272bcdd4dd7171a9d0bdf4bb8d7f425d7))
117
- * **core:** introduce observe and use_and_observe ([c19f624](https://github.com/marian13/convenient_service/commit/c19f6246689b3c222d87ff16bba8b65d7b1c04f5))
118
- * **core:** MiddlewareCreator#new ([e36cee9](https://github.com/marian13/convenient_service/commit/e36cee97a8cceb70fe7564bde516dc31f4b37157))
119
- * **core:** track method_missing commit triggers ([f3a7264](https://github.com/marian13/convenient_service/commit/f3a7264e3ddb67976fbf2e1c875df15f6f133c0b))
120
- * **debug:** add Step#output_values without specs ([b7e4712](https://github.com/marian13/convenient_service/commit/b7e47126b22fa93d29198b9e6843a395c4eaad7c))
121
- * **delegate_to:** add with_any_arguments ([f296e53](https://github.com/marian13/convenient_service/commit/f296e53f19b57128e45cc25cc10edac010ba671c))
122
- * **depencency_container:** introduce entry ([a905b6e](https://github.com/marian13/convenient_service/commit/a905b6e90cf656a409246f17be84d39c3b4f79c6))
123
- * **feature:** introduce initial feature ([7413273](https://github.com/marian13/convenient_service/commit/7413273af1d5abad4aee912cc8bffe8f1d6d1d0b))
124
- * **has_awesome_print_inspect:** add initial has_awesome_print_inspect for result ([8437efe](https://github.com/marian13/convenient_service/commit/8437efe19601f73b333544de2b9522642b313e1e))
125
- * **has_awesome_print_inspect:** add initial has_awesome_print_inspect for service ([0e5d3c0](https://github.com/marian13/convenient_service/commit/0e5d3c0021e05b6bea10817fc27d23628ef00a04))
126
- * **has_awesome_print_inspect:** add initial has_awesome_print_inspect for step ([d192327](https://github.com/marian13/convenient_service/commit/d1923276309f044ccb7f6793bc099257aa7970e3))
127
- * **has_awesome_print_inspect:** add initial HasAwesomePrintInspect for Data ([b5a9b7b](https://github.com/marian13/convenient_service/commit/b5a9b7b8c67f3ee22ee711d8417959918a942630))
128
- * **has_inspect:** show anonymous class ([87cc634](https://github.com/marian13/convenient_service/commit/87cc63469cb8ecaacc4dbab4817bf43e91cb3e86))
129
- * **has_inspect:** show anonymous class ([5dc7779](https://github.com/marian13/convenient_service/commit/5dc7779f86431492d6fdbbc2386410c41b5f9164))
130
- * **has_j_send_status_and_attributes:** add public creators ([a954ef2](https://github.com/marian13/convenient_service/commit/a954ef2cd8020fc8158eba864883e15f0442630b))
131
- * **has_j_send_status_and_attributes:** allow to compare code by #=== ([54b5025](https://github.com/marian13/convenient_service/commit/54b502580e2e326bb319c4a7de050242bacdf0ba))
132
- * **has_j_send_status_and_attributes:** allow to compare data by #=== ([a5ce835](https://github.com/marian13/convenient_service/commit/a5ce835da8c0d920dc4a45baf2e599071867511e))
133
- * **has_j_send_status_and_attributes:** allow to compare message by #=== ([ddd5ffd](https://github.com/marian13/convenient_service/commit/ddd5ffd16596fd4288273df980b9a5c150cdbb1b))
134
- * **has_j_send_status_and_attributes:** introduce Code.=== ([c2414cc](https://github.com/marian13/convenient_service/commit/c2414cc251c754b6d405494ed2d6e241457e71ff))
135
- * **has_j_send_status_and_attributes:** introduce Data.=== ([d47202d](https://github.com/marian13/convenient_service/commit/d47202d164fa6215f730d4c75914fd2b53ef7734))
136
- * **has_j_send_status_and_attributes:** introduce Message.=== ([f936fae](https://github.com/marian13/convenient_service/commit/f936fae60a3743c97ea84ceada6c7bc59d59ece6))
137
- * **has_j_send_status_and_attributes:** introduce Status.=== ([494a9b3](https://github.com/marian13/convenient_service/commit/494a9b3b9b5cdd8df737c941c93bdbfbb771115f))
138
- * **has_j_send_status_and_attributes:** link result to status, data, message, code ([dd87723](https://github.com/marian13/convenient_service/commit/dd877234c300151053bae45fd9ae9aac9b74711a))
139
- * **has_j_send_status_and_attributes:** respect RSpec argument matchers via #=== ([c163b32](https://github.com/marian13/convenient_service/commit/c163b3207bd7fdfec1c5ff1a222de80210f1e6fd))
140
- * **has_j_send_status_and_attributes:** support partial data matching ([154a4fd](https://github.com/marian13/convenient_service/commit/154a4fda1a83135cabf6fb31b6b65bb6cec3916f))
141
- * **has_jsend_status_and_attributes:** allow user to provide Code, Data, Message and Status classes ([ff9703e](https://github.com/marian13/convenient_service/commit/ff9703e91c310d6223fbf8c9142c9e41d58498ba))
142
- * **has_mermaid_flowchart:** introduce experimental flowchart ([73475e6](https://github.com/marian13/convenient_service/commit/73475e6f7067439b867a7d9d193d9759dbfa41cf))
143
- * **has_result_status_check_short_syntax:** Add two more short bool result checks ([a8a8a8b](https://github.com/marian13/convenient_service/commit/a8a8a8b2c7d6ff90249488dffff892dff90bf914))
144
- * **has_result:** export commands.is_result? ([17e6bb6](https://github.com/marian13/convenient_service/commit/17e6bb60638f521728735baddab5a623d81e91fd))
145
- * **has_result:** introduce Commands::IsResult ([94e337a](https://github.com/marian13/convenient_service/commit/94e337a93e4724b7382d6afbfc802ac5601c1cad))
146
- * **logger:** add version class ([2e5b236](https://github.com/marian13/convenient_service/commit/2e5b2361caf87d6e08854f7b7c53d2d90cc31a60))
147
- * **logger:** provide fallback for older loggers ([6bbefdc](https://github.com/marian13/convenient_service/commit/6bbefdcd2cceee20588a482af0725b380f897c87))
148
- * **method_middlewares:** introduce #next_arguments ([a878d51](https://github.com/marian13/convenient_service/commit/a878d511bc8cefabd434d38a0502949bc2604de6))
149
- * **middlewares:** add intended entity ([d1a5a0f](https://github.com/marian13/convenient_service/commit/d1a5a0fe6b87cc47ab4f9c85722a2707518777f8))
150
- * **paint:** add version class ([118c650](https://github.com/marian13/convenient_service/commit/118c650c45c8cac20cc9a8c7411b5b091a77b5e0))
151
- * **rescues_result_unhandled_exceptions:** read max_backtrace_size from middleware arguments ([6d7de5e](https://github.com/marian13/convenient_service/commit/6d7de5ecd38d2a9bc7bc719aa44e86f3a31694d7))
152
- * **result:** introduce CanBeStubbed plugin ([9a41145](https://github.com/marian13/convenient_service/commit/9a41145a5c100a4bc3169fda34ffb0574edc01ab))
153
- * **ruby_middleware:** add support of middleware creators ([06bcc15](https://github.com/marian13/convenient_service/commit/06bcc15f6f600e4fc40ec7e1842495f2b37edfd0))
154
- * **ruby:** check if truffleruby ([341ced1](https://github.com/marian13/convenient_service/commit/341ced193953cd8c51a97ac3c4cb8822433485f0))
155
- * **service:** extract RaisesOnNotResultReturnValue ([4de15bc](https://github.com/marian13/convenient_service/commit/4de15bce4fbb4f190fdd79a5a478a8e12a5843a2))
156
- * **sets_parent_to_foreign_result:** include foreign result into parents enum ([b680678](https://github.com/marian13/convenient_service/commit/b680678ee32c2797993084ef4f4a1f18fb01e4f2))
157
- * **step:** add Step#method_step? ([caefe8e](https://github.com/marian13/convenient_service/commit/caefe8e28ce75fece673998de2181c7d94cc4029))
158
- * **stub_service:** add trigger for STUB_SERVICE ([047c835](https://github.com/marian13/convenient_service/commit/047c8358cafd86d84ced0f300440d4a08ee10994))
159
- * **stub_service:** introduce Service::CountsStubbedResultsInvocations and Result::HasStubbedResultInvocationsCounter ([88860a5](https://github.com/marian13/convenient_service/commit/88860a5917f88362670b0fc830b97de79ae83732))
160
- * **stub_service:** use result stubs by service instances ([3dde79b](https://github.com/marian13/convenient_service/commit/3dde79bdbedfa03abe94f979475cbdb8ee40d799))
161
- * **support:** add default for finite_loop ([e1c14b9](https://github.com/marian13/convenient_service/commit/e1c14b9b6e221b521714e1742001d44ac57f0d31))
162
- * **support:** introduce anything ([4a4a287](https://github.com/marian13/convenient_service/commit/4a4a28754aa4325e434e6bce11735e8837680e50))
163
- * **support:** safe_method ([b37d735](https://github.com/marian13/convenient_service/commit/b37d735c03b08e57d930c9d5cb1c7cd089a07e0a))
164
- * **support:** ThreadSafeCounter#current_value= ([bf703bb](https://github.com/marian13/convenient_service/commit/bf703bb80e4bdac62edff930ea9e524012dbd221))
165
- * **utils:** add protected option for Method#defined? ([2bfd1f6](https://github.com/marian13/convenient_service/commit/2bfd1f6210c2774a7f3bb88e9ce7dbb18c40c777))
166
- * **utils:** introduce clamp_class ([ae1712c](https://github.com/marian13/convenient_service/commit/ae1712c3750d256a61d846e052fedd00856b1aa5))
167
- * **utils:** introduce Class#display_name ([5316ec1](https://github.com/marian13/convenient_service/commit/5316ec18d58dbbf017683592f177a3185572c7ff))
168
- * **utils:** introduce Hash#assert_valid_keys ([35b3f68](https://github.com/marian13/convenient_service/commit/35b3f681aa2e544cab7a1c81d00e187325802ad1))
169
- * **utils:** introduce Hash#triple_equality_compare ([4aeb91f](https://github.com/marian13/convenient_service/commit/4aeb91f8c702b7f6b32d1964b2e5153f67fca9dd))
170
- * **utils:** introduce shorter Utils.to_bool ([8713470](https://github.com/marian13/convenient_service/commit/87134707bac542f550ea8dae941bb7c0112b33f0))
171
- * **utils:** introduce String.truncate ([f08e053](https://github.com/marian13/convenient_service/commit/f08e0536b3381e01cd88015bc49036999db58160))
172
-
173
-
174
- ### Bug Fixes
175
-
176
- * **be_result:** do not always show JSend attributes ([83c7d20](https://github.com/marian13/convenient_service/commit/83c7d20cc3ada10489abed99ab67c9751739f4f0))
177
- * **cache:** change order of require ([ba20e90](https://github.com/marian13/convenient_service/commit/ba20e90f822c7fb90819a04256929429f0375136))
178
- * **cache:** remove accidentally added file ([fac0105](https://github.com/marian13/convenient_service/commit/fac0105885541a950befe441c081bd03a095f58e))
179
- * **can_be_stubbed_result:** remove typo ([cf9ece7](https://github.com/marian13/convenient_service/commit/cf9ece771b0a97823b0a3f9f1192457b74fa5ef7))
180
- * **can_have_fallback:** precheck status of fallback results ([e7c0468](https://github.com/marian13/convenient_service/commit/e7c04688d20d22595e228cd164f992fa01821b66))
181
- * **can_have_try_result:** return copy to have fresh state ([ba5e86d](https://github.com/marian13/convenient_service/commit/ba5e86d8a3a015e54143b6193bf3a806dfe87d95))
182
- * **can_have_user_provided_entity:** include Core to proto entity as well ([086d15c](https://github.com/marian13/convenient_service/commit/086d15ce2724e8daa7c0ccbe363dea1a1b8fd9fb))
183
- * **contain_exactly:** using `tally` method ([9639f28](https://github.com/marian13/convenient_service/commit/9639f28900143e9873a579d4dd471bb227217dab))
184
- * **core:** disallow config commitment by missing private method ([7b3a20b](https://github.com/marian13/convenient_service/commit/7b3a20bedaf0d3c3cfbcab6a5a0d7a004b673a3b))
185
- * **core:** disallow config commitment by missing private method ([a40d5d1](https://github.com/marian13/convenient_service/commit/a40d5d16abdf9e3c05052adce8caca363834573d))
186
- * **has_j_send_status_and_attributes:** compare by === manually since Hash does NOT have its own === ([31d5782](https://github.com/marian13/convenient_service/commit/31d57820b5e8d6160d40da3ddf25ab73e6bcef32))
187
- * **has_j_send_status_and_attributes:** correct comparison order ([a9def90](https://github.com/marian13/convenient_service/commit/a9def90e772324450f9f2cd6a177df5cef7018c9))
188
- * **has_result_status_check_short_syntax:** Correct implementation of two methods ([5cf6004](https://github.com/marian13/convenient_service/commit/5cf6004bdfe49973452846e452dbcd087074b723))
189
- * **kwargs:** add compatibility between Ruby 2 and 3 ([a361ad7](https://github.com/marian13/convenient_service/commit/a361ad7334df88339fd372a5bf3f44005234c36e))
190
- * **method_collection:** fix failed specs ([baa7e1f](https://github.com/marian13/convenient_service/commit/baa7e1f7e5ab694c61cf7d3422b3673e36e57ab4))
191
- * **middleware_spec:** removed unused require ([0a39c4f](https://github.com/marian13/convenient_service/commit/0a39c4f394fdf484b2cdf20b8e6be5f291fd05c0))
192
- * Remove /gemfiles directory ([4f11a14](https://github.com/marian13/convenient_service/commit/4f11a140bf53bcf1298707dbee2365c053041824))
193
- * **support:** move lock to thread safe counter ([b90f2e7](https://github.com/marian13/convenient_service/commit/b90f2e7f424568d75be8cad6cb71a288ce13b1ce))
194
- * **yard:** remove colon in tags ([81239d7](https://github.com/marian13/convenient_service/commit/81239d7bd37a92de5c727224c992db94e9fe2b61))
195
-
196
-
197
- ### Performance Improvements
198
-
199
- * **core:** improve commit_config slightly ([c1738b4](https://github.com/marian13/convenient_service/commit/c1738b4de855a2b3a3f5fa25565f52ccfbd30bb0))
200
- * **core:** improve config.committed? ([283c9ca](https://github.com/marian13/convenient_service/commit/283c9ca30728dfc6311e472d17a69a3dcfcb565b))
201
-
202
-
203
- ### Miscellaneous Chores
204
-
205
- * release 0.13.0 ([7373f3e](https://github.com/marian13/convenient_service/commit/7373f3ecba7ded1a949d4a95aeb99a35214ef806))
206
-
207
-
208
- ### Code Refactoring
209
-
210
- * **can_have_stubbed_result:** state explicitly cache backend ([b2e4228](https://github.com/marian13/convenient_service/commit/b2e4228708c0e247a1c509c6a04ae39920998eae))
211
- * **has_j_send_result:** rename HasResult to HasJSendResult ([fd6846c](https://github.com/marian13/convenient_service/commit/fd6846c78edd9524eaf0121e77ce4e5a64980974))
212
- * **has_j_send_status_and_attributes:** use Jsend to JSend ([ffb2642](https://github.com/marian13/convenient_service/commit/ffb26424f9ce8f176a148c146c238a2bb1c77ce6))
213
- * **has_result_short_syntax:** allow to pass message to failures ([4a07a38](https://github.com/marian13/convenient_service/commit/4a07a38ac36cb1564059c9ad39a5c4c007db0f82))
214
-
215
- ## [0.12.0](https://github.com/marian13/convenient_service/compare/v0.11.0...v0.12.0) (2023-04-01)
216
-
217
-
218
- ### ⚠ BREAKING CHANGES
219
-
220
- * **has_j_send_status_and_attributes:** use Jsend to JSend
221
- * **can_have_method_steps:** bring back CanHaveMethodSteps since it is thread-safe
222
-
223
- ### Features
224
-
225
- * **be_result:** add trigger for BE_RESULT ([d7a416e](https://github.com/marian13/convenient_service/commit/d7a416e39377378655740d9997695c0100b60258))
226
- * **can_have_method_steps:** bring back CanHaveMethodSteps since it is thread-safe ([cbd4f35](https://github.com/marian13/convenient_service/commit/cbd4f35fa22c85f8005582ac06118d1f63337984))
227
- * **core:** add config constants ([7438742](https://github.com/marian13/convenient_service/commit/7438742268cb808f082cdb9a1a36e8698d73a662))
228
- * **core:** add method_missing_commits_counter ([9f143a0](https://github.com/marian13/convenient_service/commit/9f143a02c49b078ddbb3a953dc657b1c4c992494))
229
- * **core:** add trigger for config commitment in class method missing ([97a4acf](https://github.com/marian13/convenient_service/commit/97a4acf06d30e08411790db917867da53f49653b))
230
- * **core:** add trigger for config commitment in instance method missing ([e1ebfc0](https://github.com/marian13/convenient_service/commit/e1ebfc028d157cadd8a70ebc7321883986db6633))
231
- * **core:** add trigger for RESOLVE_METHOD_MIDDLEWARES_SUPER_METHOD ([d419985](https://github.com/marian13/convenient_service/commit/d419985dca3e348b1ee8607aadfd2ea4a0cc84be))
232
- * **core:** add trigger option commit_config! ([2c7c041](https://github.com/marian13/convenient_service/commit/2c7c041f7602710db53e2caf9ab4061579254983))
233
- * **core:** default commit trigger to user ([127822a](https://github.com/marian13/convenient_service/commit/127822a7da2e6e4c95272e627d101f68ce0f5479))
234
- * **core:** introduce config commitment triggers ([b92ee50](https://github.com/marian13/convenient_service/commit/b92ee50d7216b6e49464449f9678071bada0109b))
235
- * **core:** introduce middleware arguments ([5ca7868](https://github.com/marian13/convenient_service/commit/5ca7868181d44f0f1eb1f2958270e4c6bbb76646))
236
- * **core:** introduce Middleware.with ([4272262](https://github.com/marian13/convenient_service/commit/427226258cce031679c51a5b4ea900506c995c4a))
237
- * **core:** introduce MiddlewareCreator ([d1b6ce8](https://github.com/marian13/convenient_service/commit/d1b6ce89fdc008359f9fd0ed080c3cfb28bd39b7))
238
- * **core:** MiddlewareCreator#new ([e36cee9](https://github.com/marian13/convenient_service/commit/e36cee97a8cceb70fe7564bde516dc31f4b37157))
239
- * **core:** track method_missing commit triggers ([f3a7264](https://github.com/marian13/convenient_service/commit/f3a7264e3ddb67976fbf2e1c875df15f6f133c0b))
240
- * **depencency_container:** introduce entry ([a905b6e](https://github.com/marian13/convenient_service/commit/a905b6e90cf656a409246f17be84d39c3b4f79c6))
241
- * **feature:** introduce initial feature ([7413273](https://github.com/marian13/convenient_service/commit/7413273af1d5abad4aee912cc8bffe8f1d6d1d0b))
242
- * **finite_loop:** introduce FiniteLoop.finite_loop ([ae363c1](https://github.com/marian13/convenient_service/commit/ae363c1b159692b5ef42f09bb6250ee7615d4ffe))
243
- * **has_jsend_status_and_attributes:** allow user to provide Code, Data, Message and Status classes ([ff9703e](https://github.com/marian13/convenient_service/commit/ff9703e91c310d6223fbf8c9142c9e41d58498ba))
244
- * **has_result_status_check_short_syntax:** Add two more short bool result checks ([a8a8a8b](https://github.com/marian13/convenient_service/commit/a8a8a8b2c7d6ff90249488dffff892dff90bf914))
245
- * **in_threads:** introduce in_threads RSpec helper ([dbd54ac](https://github.com/marian13/convenient_service/commit/dbd54ac86f75f45ad03bedd2622efc3d7055d4a2))
246
- * **rescues_result_unhandled_exceptions:** read max_backtrace_size from middleware arguments ([6d7de5e](https://github.com/marian13/convenient_service/commit/6d7de5ecd38d2a9bc7bc719aa44e86f3a31694d7))
247
- * **ruby_middleware:** add support of middleware creators ([06bcc15](https://github.com/marian13/convenient_service/commit/06bcc15f6f600e4fc40ec7e1842495f2b37edfd0))
248
- * **ruby:** check if jruby ([fba70da](https://github.com/marian13/convenient_service/commit/fba70daf5713fa99384e860e33c7db32de4b9e91))
249
- * **ruby:** check if truffleruby ([341ced1](https://github.com/marian13/convenient_service/commit/341ced193953cd8c51a97ac3c4cb8822433485f0))
250
- * **stub_service:** add trigger for STUB_SERVICE ([047c835](https://github.com/marian13/convenient_service/commit/047c8358cafd86d84ced0f300440d4a08ee10994))
251
- * support ruby 3.2 in CI and Docker ([4dc26b9](https://github.com/marian13/convenient_service/commit/4dc26b93c074870362cafaaa15d9625542d51b92))
252
- * **support:** introduce thread_safe_counter ([ea25f15](https://github.com/marian13/convenient_service/commit/ea25f159091b7bfd71af593e9dadcdb015606a53))
253
- * **support:** introduce UniqueValue ([b007123](https://github.com/marian13/convenient_service/commit/b0071230455ad80cd206c1e34eb5f59a6f90af61))
254
- * **support:** safe_method ([b37d735](https://github.com/marian13/convenient_service/commit/b37d735c03b08e57d930c9d5cb1c7cd089a07e0a))
255
- * **support:** ThreadSafeCounter#current_value= ([bf703bb](https://github.com/marian13/convenient_service/commit/bf703bb80e4bdac62edff930ea9e524012dbd221))
256
- * **thread_safe_counter:** introduce bincrement and bdecrement ([a0ef972](https://github.com/marian13/convenient_service/commit/a0ef9729eb3bb1e22536375ce7e9cb57a0f7fa7b))
257
- * **unique_value:** add == consistency ([26c8686](https://github.com/marian13/convenient_service/commit/26c8686cbf52caa932d677d080dc283943b048cb))
258
- * **unique_value:** add comparisons ([cf02a50](https://github.com/marian13/convenient_service/commit/cf02a505ca1f34e70d50236f691ebbc89fdcb29f))
259
- * **utils:** introduce Object.resolve_class ([94f6ca2](https://github.com/marian13/convenient_service/commit/94f6ca2178c8bb048b35b10c74d60385fa003079))
260
-
261
-
262
- ### Bug Fixes
263
-
264
- * **can_have_steps:** set correct error namaspace ([1f6d647](https://github.com/marian13/convenient_service/commit/1f6d647e1babdd2c565390691a56442ad0fd315c))
265
- * **can_have_stubbed_result:** add thread-safety ([ef77058](https://github.com/marian13/convenient_service/commit/ef77058a877c903a6156875d02d436ac4216174a))
266
- * **core:** remove typo in description ([a34323f](https://github.com/marian13/convenient_service/commit/a34323f1a20a0667aba6fdceb77476345a26d1d3))
267
- * **dependency_container:** remove typo ([fbcfd28](https://github.com/marian13/convenient_service/commit/fbcfd28ccd6747da5c7e7b48aa620206403264e9))
268
- * **has_result_status_check_short_syntax:** Correct implementation of two methods ([5cf6004](https://github.com/marian13/convenient_service/commit/5cf6004bdfe49973452846e452dbcd087074b723))
269
- * **logger:** update ENV variable ([86301ce](https://github.com/marian13/convenient_service/commit/86301ce98bcfa18a4bdb7e4d34c283493865bc76))
270
- * **support:** group examples ([97549e9](https://github.com/marian13/convenient_service/commit/97549e9d2e342041a7d5b64d2bf68dbcedf73ca2))
271
-
272
-
273
- ### Miscellaneous Chores
274
-
275
- * release 0.12.0 ([da182b6](https://github.com/marian13/convenient_service/commit/da182b694865ea5e10163193b3219439a6d3be3e))
276
-
277
-
278
- ### Code Refactoring
279
-
280
- * **has_j_send_status_and_attributes:** use Jsend to JSend ([ffb2642](https://github.com/marian13/convenient_service/commit/ffb26424f9ce8f176a148c146c238a2bb1c77ce6))
281
-
282
- ## [0.11.0](https://github.com/marian13/convenient_service/compare/v0.10.1...v0.11.0) (2023-03-04)
283
-
284
-
285
- ### ⚠ BREAKING CHANGES
286
-
287
- * **can_have_method_steps:** rename has_result_method_steps to can_have_method_steps
288
- * **can_have_steps:** rename has_result_steps to can_have_steps
289
-
290
- ### Bug Fixes
291
-
292
- * **can_have_method_steps:** disable CanHaveMethodSteps in Standard config ([af0b039](https://github.com/marian13/convenient_service/commit/af0b039c827769441bb5adc150d0e0ff2a43e220))
293
-
294
-
295
- ### Code Refactoring
296
-
297
- * **can_have_method_steps:** rename has_result_method_steps to can_have_method_steps ([39901a3](https://github.com/marian13/convenient_service/commit/39901a31e37536ae81c6961b45a8c35e505aaefa))
298
- * **can_have_steps:** rename has_result_steps to can_have_steps ([691d8e1](https://github.com/marian13/convenient_service/commit/691d8e128fc4ff8d1dfa76e365501b0d2028a5aa))
299
-
300
-
301
- ### Miscellaneous Chores
302
-
303
- * release 0.11.0 ([dc6282a](https://github.com/marian13/convenient_service/commit/dc6282a7a09e5194c395b2399bd418a0e4d15de9))
304
-
305
- ## [0.10.1](https://github.com/marian13/convenient_service/compare/v0.10.0...v0.10.1) (2023-03-02)
306
-
307
-
308
- ### Bug Fixes
309
-
310
- * **can_have_stubbed_result:** add thread-safety ([1962dcc](https://github.com/marian13/convenient_service/commit/1962dccdea29fb36c1b581e312329f41bb23c179))
311
-
312
- ## [0.10.0](https://github.com/marian13/convenient_service/compare/v0.9.0...v0.10.0) (2023-03-01)
313
-
314
-
315
- ### Features
316
-
317
- * **utils:** introduce Utils::String.demodulize ([87a145a](https://github.com/marian13/convenient_service/commit/87a145a7742e1fce04fa40917dae6ee61e811c71))
318
-
319
-
320
- ### Bug Fixes
321
-
322
- * **be_result:** commit config manually ([658e314](https://github.com/marian13/convenient_service/commit/658e3147cad50cb7226c8530227e704bb4c30945))
323
- * **can_have_user_provided_entity:** use demodulized proto entity name ([f25e63c](https://github.com/marian13/convenient_service/commit/f25e63c23a9407ec8cc513311de506781e3cb5ca))
324
- * **has_result_steps:** no validate ([6c14a57](https://github.com/marian13/convenient_service/commit/6c14a572b8fa2dfcb3afef26e64859bb67ac9729))
325
- * **rescues_result_unhandled_exceptions:** add indentation for all message lines ([6458103](https://github.com/marian13/convenient_service/commit/6458103c362c66da42587b1a0bec4935b42606ac))
326
- * **rescues_result_unhandled_exceptions:** use formatted message and class for cause ([c75c389](https://github.com/marian13/convenient_service/commit/c75c3891158ea58d28d8de3718a6296565a1cd84))
327
-
328
- ## [0.9.0](https://github.com/marian13/convenient_service/compare/v0.8.0...v0.9.0) (2023-02-22)
329
-
330
-
331
- ### ⚠ BREAKING CHANGES
332
-
333
- * **export:** add a logic that forbids to use export in classes ([ca81536a](https://github.com/marian13/convenient_service/commit/ca81536a3080661cb762d549f4ef3ce1456bc566))
334
-
335
-
336
- ### Features
337
-
338
- * **has_result_short_syntax:** introduce Result#ud, Result#um, Result#uc ([95856c9](https://github.com/marian13/convenient_service/commit/95856c921c14888a3253f1c3d12453dbfd97a14b))
339
- * **utils:** introduce Object#memoize_including_falsy_values ([22b2430](https://github.com/marian13/convenient_service/commit/22b2430f2a57dbded706754261defc53ec140e4f))
340
-
341
-
342
- ### Bug Fixes
343
-
344
- * **export:** add a logic that forbids to use export in classes ([ca81536a](https://github.com/marian13/convenient_service/commit/ca81536a3080661cb762d549f4ef3ce1456bc566))
345
-
346
- ## [0.8.0](https://github.com/marian13/convenient_service/compare/v0.7.0...v0.8.0) (2023-02-20)
347
-
348
-
349
- ### Features
350
-
351
- * **aliases:** expose middlewares ([aacb6fd](https://github.com/marian13/convenient_service/commit/aacb6fda4c63e1d82e33c523885bd61397cfb583))
352
- * **configs:** introduce Minimal config ([70b0ca8](https://github.com/marian13/convenient_service/commit/70b0ca82679fc89099aee733d91807e371bbed39))
353
- * **rescues_result_unhandled_exceptions:** introduce rescues_result_unhandled_exceptions ([fd0b444](https://github.com/marian13/convenient_service/commit/fd0b4447e5abf81d971cd93a8333a89b363ef1ff))
354
- * **rescues_result_unhandled_exceptions:** return original exception in data + formatted exception as message ([45bc55e](https://github.com/marian13/convenient_service/commit/45bc55ec245df1b95769be761337a3cb2558a878))
355
- * **undefined:** introduce undefined ([2f93bdc](https://github.com/marian13/convenient_service/commit/2f93bdc86d81c9a819bbc1c4a76a0ef291a59b17))
356
- * **wrap_method:** introduce WrappedMethod#chain_exception ([1db33af](https://github.com/marian13/convenient_service/commit/1db33afc3a0e0713700b0bf5385900085af0a2df))
357
-
358
-
359
- ### Bug Fixes
360
-
361
- * **wrapped_method:** define chain value even if chain.next raises an exception ([8c4cf95](https://github.com/marian13/convenient_service/commit/8c4cf9534a07e9614fdc73f0d0c019f9c3f0ea54))
362
- * **wrapped_method:** reraise rescued exception ([31f7ab6](https://github.com/marian13/convenient_service/commit/31f7ab6df0b34980656942992d3ecf7a67461d06))
363
-
364
- ## [0.7.0](https://github.com/marian13/convenient_service/compare/v0.6.0...v0.7.0) (2023-02-13)
365
-
366
-
367
- ### ⚠ BREAKING CHANGES
368
-
369
- * **be_result:** introduce #of_step, #of_service, remove #of
370
- * **has_result:** use callbacks before result
371
-
372
- ### Features
373
-
374
- * **be_result:** introduce #of_step, #of_service, remove #of ([0d9ba16](https://github.com/marian13/convenient_service/commit/0d9ba16f035ef50268fdf484b0fd83c58dbb328a))
375
- * **be_result:** of_step supports method steps ([9127301](https://github.com/marian13/convenient_service/commit/9127301f41549fbb8c48b718e410ebd7c100e2e9))
376
- * **can_have_parent_Result:** introduce CanHaveParentResult plugin ([55f0b0f](https://github.com/marian13/convenient_service/commit/55f0b0f558e2edb8b0fdc56a2d8b52bc44995a2f))
377
- * **command:** expose command ([6abcb1a](https://github.com/marian13/convenient_service/commit/6abcb1ad481cad66eba2d4d409e3ce16b0f6591d))
378
- * **configs:** add around callbacks for steps ([cb9d342](https://github.com/marian13/convenient_service/commit/cb9d34204d63a96e89ebebe2991e8ab77b2624f0))
379
- * **has_around_callbacks:** pass arguments to around callbacks ([f682f9a](https://github.com/marian13/convenient_service/commit/f682f9a6fb3ef6e8ab50ccf0f7f3ba375a63092e))
380
- * **has_callbacks:** pass arguments to callbacks ([2d7f720](https://github.com/marian13/convenient_service/commit/2d7f720e37a15874ec89167e46fb67a0631ec923))
381
- * **has_jsend_status_and_attributes:** introduce Data#to_s ([c1e20c0](https://github.com/marian13/convenient_service/commit/c1e20c093ec4575a939645a2d951fe4e035154b8))
382
- * **has_result_steps:** add callback trigger for step ([475d46a](https://github.com/marian13/convenient_service/commit/475d46a5abaf6fa85260cef90d78db60146b86d9))
383
- * **has_result_steps:** introduce Step#original_result ([8891247](https://github.com/marian13/convenient_service/commit/8891247e5f0339d9e96e733d05b29e45a2e87e71))
384
- * **has_step:** introduce HasStep plugin ([e6eee96](https://github.com/marian13/convenient_service/commit/e6eee965c8707b7378173f228b9b212834be434b))
385
- * **not_passed:** add better #inspect ([d7ce5d9](https://github.com/marian13/convenient_service/commit/d7ce5d93a3aa5f139f6b7ee578975c1da52488c0))
386
-
387
-
388
- ### Bug Fixes
389
-
390
- * **be_descendant_of:** fix typo ([58e0f73](https://github.com/marian13/convenient_service/commit/58e0f73f74685614d24e0ee3c8208a5626f7ef42))
391
- * **be_direct_descendant_of:** fix typo ([bda7d06](https://github.com/marian13/convenient_service/commit/bda7d063d1801309a58b5e4d43d738ebab5fef59))
392
- * **ci:** change the version of yard ([185c23c](https://github.com/marian13/convenient_service/commit/185c23c40dacf997e29d0b7defd10020c22dc196))
393
- * **copyable:** do not mutate input params ([0809592](https://github.com/marian13/convenient_service/commit/08095927ea03c60a00eb3b0d0323458b482827b0))
394
- * **dependency_container:** fix typo ([b1cf420](https://github.com/marian13/convenient_service/commit/b1cf420a2e69cc51e928a8a1ad885a65ad7fb4fe))
395
- * **has_result_steps:** use unsafe attributes in to_kwargs ([6c2b1d3](https://github.com/marian13/convenient_service/commit/6c2b1d3912106f6848b875d06a4d7ce1d79c4edb))
396
- * **has_result_steps:** use unsafe_data ([e00c346](https://github.com/marian13/convenient_service/commit/e00c3468f5761e20678c7019f0d13f2569778b19))
397
- * **has_result:** use callbacks before result ([eb46444](https://github.com/marian13/convenient_service/commit/eb46444536a7cf4aab869aa009c1a7c896c00c11))
398
-
399
-
400
- ### Miscellaneous Chores
401
-
402
- * release 0.7.0 ([6433f5a](https://github.com/marian13/convenient_service/commit/6433f5a67c3f21c620d500186e0308fb7b098efc))
403
-
404
- ## [0.6.0](https://github.com/marian13/convenient_service/compare/v0.5.0...v0.6.0) (2023-01-22)
405
-
406
-
407
- ### Features
408
-
409
- * **dependency_container:** assert valid scope ([5d75f59](https://github.com/marian13/convenient_service/commit/5d75f593c01baa695e75fe49af6b4c6b80d7d9b1))
410
- * **singleton_prepend_module:** introduce singleton_prepend_module custom RSpec matcher ([6636b8d](https://github.com/marian13/convenient_service/commit/6636b8d030329e4a6216a934748a70ef4bae6ff3))
411
- * **has_result_steps:** introduce reassign ([75855be](https://github.com/marian13/convenient_service/commit/75855be7fd9115d01d5cfad99d35319486332bd2))
412
-
413
- ## [0.5.0](https://github.com/marian13/convenient_service/compare/v0.4.0...v0.5.0) (2023-01-19)
414
-
415
-
416
- ### Features
417
-
418
- * **dependency_container:** introduce dependency containers ([7e2dd90](https://github.com/marian13/convenient_service/commit/7e2dd9072a4b8815ac74755b4fa2c3b66a093115), [aef8ac0](https://github.com/marian13/convenient_service/commit/aef8ac0ba7fdfdd968fae6e115bb9540bca28ec4))
419
-
420
- ## [0.4.0](https://github.com/marian13/convenient_service/compare/v0.3.1...v0.4.0) (2023-01-03)
421
-
422
-
423
- ### Features
424
-
425
- * **has_jsend_status_and_attributes:** introduce data.has_attribute? ([04e4583](https://github.com/marian13/convenient_service/commit/04e45830fcb4aabc7d6473394e7d4b99e31a11d6))
426
- * **has_result_steps:** add more contextual error message when step result data has no attribute ([5844d94](https://github.com/marian13/convenient_service/commit/5844d942a9bca4b9d4f65403c6c432e9e2b810ad))
427
- * **results_matchers:** introduce be_not_success, be_not_failure, be_not_error ([9bb4454](https://github.com/marian13/convenient_service/commit/9bb4454fa6025bba8200a9280c25ec20cafb4c03))
428
-
429
-
430
- ### Bug Fixes
431
-
432
- * **has_result_steps:** print step actual service, not internal wrapper ([c0761be](https://github.com/marian13/convenient_service/commit/c0761be89b8a6dacb318460ed5c55b15fdd2de0b))
433
- * **rspec:** return nil for current example in partially loaded rspec envs ([ea10cc0](https://github.com/marian13/convenient_service/commit/ea10cc0e06dd22022f816f6760af926fb119bdf5))
434
-
435
- ## [0.3.1](https://github.com/marian13/convenient_service/compare/v0.3.0...v0.3.1) (2022-12-19)
436
-
437
-
438
- ### Bug Fixes
439
-
440
- * **can_have_stubbed_result:** fix stubbed_result when it's called in non-test env ([e25178e](https://github.com/marian13/convenient_service/commit/e25178ef502e198d498703172b25e1fb94e702a4))
441
-
442
- ## [0.3.0](https://github.com/marian13/convenient_service/compare/v0.2.1...v0.3.0) (2022-12-17)
443
-
444
-
445
- ### Features
446
-
447
- * **stub_service:** stub_service supports stubbing with different arguments ([766eb5a](https://github.com/marian13/convenient_service/commit/766eb5a25cfbd49b699ca5c0c0ffa5524dc46548))
448
-
449
- ## [0.2.1](https://github.com/marian13/convenient_service/compare/v0.2.0...v0.2.1) (2022-12-14)
450
-
451
-
452
- ### Bug Fixes
453
-
454
- * **has_result_steps:** return step copy to have fresh state ([55cc368](https://github.com/marian13/convenient_service/commit/55cc368484641040c0c76ecb38872cc9a268397c), [fc7cebb](https://github.com/marian13/convenient_service/commit/fc7cebb4e159af7b35eac3cf8c25c7009e14c9d1))
455
- * **standard:** place UsingActiveModelValidations before HasResultSteps ([4c43205](https://github.com/marian13/convenient_service/commit/4c43205382da2e7ae395fea6639c2bcc43d1eec2))
456
- * **standard:** place UsingDryValidation before HasResultSteps ([63c31c0](https://github.com/marian13/convenient_service/commit/63c31c04ac7c2581defd3557aad13db3188806ba))
457
-
458
- ## [0.2.0](https://github.com/marian13/convenient_service/compare/v0.1.0...v0.2.0) (2022-11-26)
459
-
460
-
461
- ### Features
462
-
463
- * **be_success:** add without_data chaining ([e1c7a7e](https://github.com/marian13/convenient_service/commit/e1c7a7e534b4c8c112b343a3318177d69f7ad06d))
464
- * **has_constructor_without_initialize:** introduce .create_without_initialize ([b0835aa](https://github.com/marian13/convenient_service/commit/b0835aaae46820b47ecc57887613acd8599c1908))
465
- * **has_constructor:** introduce .create ([2cc450b](https://github.com/marian13/convenient_service/commit/2cc450bd529596ac8e2fda3d26c2e0b1d4fad959))
466
- * **has_inspect:** indroduce inspect for Service and Result ([c3815c8](https://github.com/marian13/convenient_service/commit/c3815c8d25f47d8f2457ccfbad8660a930e32da1))
467
- * **has_inspect:** introduce HasInspect for Step ([6a6ada7](https://github.com/marian13/convenient_service/commit/6a6ada73962ea96f5e9c40d62e87d91a1e09b961))
468
- * **has_inspect:** introduce inspect for Service and Result ([7c9fe0e](https://github.com/marian13/convenient_service/commit/7c9fe0e4a7aedfcaff1e717f99a934d2fab4c03b))
469
- * **has_result_status_check_short_syntax:** add ability to use short bool result check ([14909c5](https://github.com/marian13/convenient_service/commit/14909c584164a2bd130f788fa48e76edd3c7a758))
470
- * **standard:** use HasConstructorWithoutInitialize ([b16232c](https://github.com/marian13/convenient_service/commit/b16232c88fe75028531cd7e834fb59fece49d122))
471
- * **wrap_method:** add ability to reset wrapped method ([ae01aa8](https://github.com/marian13/convenient_service/commit/ae01aa825dcf0d06b2abdc693331dccb65d95d6b))
472
-
473
-
474
- ## 0.1.0
data/Gemfile DELETED
@@ -1,17 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- source "https://rubygems.org"
4
-
5
- ##
6
- # Specify your gem's dependencies in `convenient_service.gemspec`.
7
- # - https://yehudakatz.com/2010/12/16/clarifying-the-roles-of-the-gemspec-and-gemfile/
8
- #
9
- gemspec
10
-
11
- ##
12
- # TODO: Uncomment if a license key is approved.
13
- # - https://github.com/mbj/mutant/tree/a19e11a07e71a40cfa62636f7aea611e314de841#getting-an-opensource-license
14
- #
15
- # source 'https://${plan}:${key}@gem.mutant.dev' do
16
- # gem 'mutant-license'
17
- # end
data/ROADMAP.md DELETED
@@ -1,92 +0,0 @@
1
- # Roadmap
2
-
3
- | Priority | Status | Goal | Notes |
4
- | - | - | - | - |
5
- | High | ✅ | 100% coverage of `Core` | |
6
- | Medium | 🚧 | Type signatures for the whole codebase ([Yard @param, @overload, @return](https://rubydoc.info/gems/yard/file/docs/Tags.md#taglist)) | |
7
- | Medium | ✅ | `Service.success?` shortcut for `Service.result.success?` | |
8
- | Medium | ✅ | Release `v0.1.0` with a warning that lib is still under heavy development | |
9
- | Medium | 🚧 | [Active Record transaction](https://api.rubyonrails.org/classes/ActiveRecord/Transactions/ClassMethods.html) examples | |
10
- | Medium | 🚧 | [Rails Current Attributes integration](https://api.rubyonrails.org/classes/ActiveSupport/CurrentAttributes.html) to cache repeated results | |
11
- | Low | 🚧 | [Capybara](https://github.com/teamcapybara/capybara) examples | |
12
- | Medium | 🚧 | Inline step sequence | |
13
- | High | 🚧 | Move callbacks to internals | In order to NOT pollute the public interface of users services |
14
- | Low | 🚧 | Create an example of `id_or_record` [attribute](https://api.rubyonrails.org/classes/ActiveRecord/Attributes/ClassMethods.html) |
15
- | Low | 🚧 | GitHub Wiki/Gists for Support | |
16
- | Low | 🚧 | Contribute to Shoulda Matchers | |
17
- | High | ✅ | `respond_to_missing?` | [ConvenientService::Core::ClassMethods#respond_to_missing?](https://github.com/marian13/convenient_service/blob/main/lib/convenient_service/core/class_methods.rb#L105), [ConvenientService::Core::InstanceMethods#respond_to_missing?](https://github.com/marian13/convenient_service/blob/main/lib/convenient_service/core/instance_methods.rb#L30) |
18
- | High | ⏳ | Custom matcher to track `ConvenientService::Logger` messages | |
19
- | Medium | ✅ | Remove `respond_to?` from `Copyable` | [7d2a676c171d201301f1c35d498c3b1caf8579b1](https://github.com/marian13/convenient_service/commit/7d2a676c171d201301f1c35d498c3b1caf8579b1) |
20
- | High | 🚧 | Unified `inspect` | Remove `internals` from inspect, ivars wrapperd by double underscore |
21
- | High | ✅ | Remove race condition for `method_missing` | https://github.com/marian13/convenient_service/pull/5 |
22
- | High | ✅ | Remove incompatiility of [Module#include](https://gist.github.com/marian13/9c25041f835564e945d978839097d419) | https://github.com/marian13/convenient_service/pull/3 |
23
- | Medium | ✅ | Split `Utils` specs into separate files | [convenient_service/spec/lib/convenient_service/utils](https://github.com/marian13/convenient_service/tree/main/spec/lib/convenient_service/utils) |
24
- | Medium | 🚧 | How to test thread-safety? | |
25
- | Medium | ✅ | Rename `Utils::Module.find_own_const` to `Utils::Module.get_own_const` | [ConvenientService::Utils::Module::GetOwnConst](https://github.com/marian13/convenient_service/blob/main/lib/convenient_service/utils/module/get_own_const.rb) |
26
- | Medium | 🚧 | Mark `@api private` methods, classes | [YARD Tags](https://www.rubydoc.info/gems/yard/file/docs/Tags.md) |
27
- | Medium | ✅ | A way to check if block has one required positional argument | [#proc_has_one_positional_argument?](https://github.com/marian13/convenient_service/blob/main/lib/convenient_service/utils/proc/exec_config.rb#L96) |
28
- | Low | 🚧 | Define method middleware caller with visibility | |
29
- | Low | 🚧 | Dependency containers to remove high coupling | |
30
- | Low | 🚧 | Measure performance | See [benchmark](https://github.com/marian13/convenient_service/tree/main/benchmark) |
31
- | Low | 🚧 | Write [Convenient Service](https://github.com/marian13/convenient_service) specific middleware backend | |
32
- | High | 🚧 | Optimize `stack.dup` in `MethodMiddlewares#call` | Core v3 |
33
- | Medium | 🚧 | Make a decision of what to do with `printable_block` in custom RSpec matchers | |
34
- | Medium | 🚧 | User-friendly exception messages | |
35
- | High | ❌ | Factory for POROs in specs ❗❗❗ | Proxy config antipattern |
36
- | High | 🚧 | Resolve warning during specs | |
37
- | Medium | 🚧 | Consider to change/rewrite `delegate` backend to minify its interface | |
38
- | Medium | 🚧 | Same order of attr macros, delegators, initialize, class methods, attr methods, queries, actions, `to_*`, comparison, inspect | |
39
- | Medium | ✅ | Move `Cache` to `Support` | |
40
- | Medium | 🚧 | Statically specify plugin dependencies | |
41
- | Medium | 🚧 | Statically specify plugin entity types | |
42
- | Medium | 🚧 | Consider to create `ComparableProc` descendant from `Proc` | To abstract away `block&.source_location != other.block&.source_location` |
43
- | Medium | 🚧 | Consider to use `Struct` as key in `Support::Cache` | To hide overriden [eql?](https://github.com/marian13/convenient_service/blob/v0.1.0/lib/convenient_service/common/plugins/caches_return_value/entities/key.rb#L60) |
44
- | High | 🚧 | `included_once` for `Support::Concern` |
45
- | Medium | 🚧 | Custom YARD type for service instance, service class as return values |
46
- | Medium | 🚧 | Heredoc for error messages |
47
- | Medium | 🚧 | Specs for `be_success`, `be_error`, `be_failure` matchers | |
48
- | Low | 🚧 | [Receive Counts](https://relishapp.com/rspec/rspec-mocks/docs/setting-constraints/receive-counts) for `delegate_to` | |
49
- | Low | 🚧 | Prefer versioning instead of modification plugin | |
50
- | Low | 🚧 | Consider to move `__steps__` and `__callbacks__` to `internals_class` | Benefit? |
51
- | Medium | 🚧 | User friendly `raise` that removes lib backtrace from caller | Should have a `debug` mode. Should work well with examples. Check RSpec `CallerFilter.first_non_rspec_line` |
52
- | High | 🚧 | A plugin that catches `StandardError` and returns `failure` | Should be the lowest in the stack |
53
- | High | 🚧 | `Support::Command` alias | Should be visible to the end user |
54
- | Low | 🚧 | Parallel steps | A killer feature |
55
- | Medium | 🚧 | Add `Ruby 3.2` support to `Docker` and `CI` | |
56
- | Low | 🚧 | `overload do` | |
57
- | Low | 🚧 | Same spec example group organization | |
58
- | Medium | 🚧 | `Support::Arguments` | |
59
- | Low | 🚧 | Null object to Nil object? | |
60
- | High | 🚧 | Do not use Testing Toolkit in the Primitives layer | See [Components Diagram](https://marian13.github.io/static_content/convenient_service/diagrams/components_graph.html) + it should take the minimal amount of efforts to extract and reuse `Utils`, `Suppport` in the different projects |
61
- | Medium | 🚧 | Perfromance testing | [rspec-benchmark](https://github.com/piotrmurach/rspec-benchmark), [Testing object allocations](https://www.honeybadger.io/blog/testing-object-allocations/), [allocation_stats](https://github.com/srawlins/allocation_stats) |
62
- | Medium | 🚧 | Mutant testing | [mutant](https://github.com/mbj/mutant) |
63
- | Low | 🚧 | Add `JRuby` support | [jruby](https://www.jruby.org/) |
64
- | Medium | 🚧 | Add `shoulda-context` to test conditionals when `RSpec` is not loaded | [shoulda-context](https://github.com/thoughtbot/shoulda-context) |
65
- | High | 🚧 | Abstract factory for `CastMethod` | |
66
- | Medium | 🚧 | `delegate_to` - option to specify of how to compare blocks | |
67
- | High | 🚧 | Add specs for [Reassignment::Commands::DefineMethodInContainer](https://github.com/marian13/convenient_service/blob/v0.6.0/lib/convenient_service/service/plugins/has_result_steps/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb#L13) | |
68
- | High | 🚧 | Example for dependency containers | |
69
- | Low | 🚧 | `delegate_to.and_return_value` | |
70
- | Medium | 🚧 | Support two Cache implementations, array-based and hash-based | |
71
- | Low | 🚧 | `delegate_to_service` | |
72
- | High | 🚧 | Intentionally disable plugins to document dependencies | |
73
- | Low | 🚧 | `.and_return_value_should be_instance_of(expected)` | |
74
- | Low | 🚧 | `ConvenientService::Config.delegate_to_diff_argorithm = :diffy` | |
75
- | Low | 🚧 | Rubocop cop that complains when a service name does NOT start with a verb | |
76
- | Low | 🚧 | Generator to create a spec default structure | |
77
- | Low | 🚧 | Rubocop cop that complains when a service does NOT have its own suite of specs | |
78
- | High | 🚧 | Add specs for `WrappedMethod#call` | |
79
- | High | 🚧 | Check whether ignoring the error was used properly | |
80
- | High | 🚧 | Steps are great for `and` logic, but what to do with `or` logic? | Create the third service | |
81
- | High | 🚧 | Steps are great for `and` logic, but what to do with `case when` logic? | Create the third service | |
82
- | High | 🚧 | Cacing of services | It is relatively simple to add caching for steps, but not for all services, since steps are managed by framework | |
83
- | High | 🚧 | Fallback should return result with already checked status | |
84
- | Medium | 🚧 | Licence: Commercial Support docs | See [Sidekiq Commercial Support](https://github.com/sidekiq/sidekiq/wiki/Commercial-Support) |
85
- | Meduim | 🚧 | Licence: Acknowledgements - Government End Users | See [GraphQL Ruby Commercial Licence](https://graphql.pro/COMM-LICENSE.html) |
86
- | Medium | 🚧 | Licence: Applicable Law and Jurisdiction (Miscellaneous - Governing Law) | See [Kiba Applicable Law and Jurisdiction](https://github.com/thbar/kiba/blob/master/COMM-LICENSE.md) |
87
- | Medium | 🚧 | Licence: Contact email `info@convenientservice.org` | |
88
- | Medium | 🚧 | Contributing Guide | See [Sidekiq Contributing](https://github.com/sidekiq/sidekiq/blob/main/.github/contributing.md) |
89
- | High | 🚧 | `comparing_by` for `delegate_to` | |
90
- | High | 🚧 | Remove extra files from bundled gem version | |
91
-
92
- Search for `TODO`s in the codebase or check [discussions](https://github.com/marian13/convenient_service/discussions) for more tasks.