convenient_service 0.17.0 → 0.18.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (406) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +4 -4
  3. data/lib/convenient_service/common/plugins/ensures_negated_j_send_result/middleware.rb +22 -0
  4. data/lib/convenient_service/common/plugins/ensures_negated_j_send_result.rb +3 -0
  5. data/lib/convenient_service/common/plugins/has_around_callbacks/concern.rb +8 -1
  6. data/lib/convenient_service/common/plugins/has_around_callbacks/middleware.rb +28 -7
  7. data/lib/convenient_service/common/plugins/has_callbacks/concern.rb +19 -9
  8. data/lib/convenient_service/common/plugins/has_callbacks/entities/callback_collection.rb +49 -1
  9. data/lib/convenient_service/common/plugins/has_callbacks/middleware.rb +21 -3
  10. data/lib/convenient_service/common/plugins/has_callbacks.rb +0 -1
  11. data/lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb +1 -1
  12. data/lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/has_cache/concern.rb +12 -0
  13. data/lib/convenient_service/common/plugins.rb +1 -0
  14. data/lib/convenient_service/core/entities/config/exceptions.rb +2 -0
  15. data/lib/convenient_service/core/entities/config.rb +3 -0
  16. data/lib/convenient_service/dependencies.rb +11 -3
  17. data/lib/convenient_service/logger.rb +9 -1
  18. data/lib/convenient_service/rspec/matchers/classes/call_chain_next.rb +41 -0
  19. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/commands/generate_printable_method.rb +46 -0
  20. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/delegation.rb +89 -0
  21. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb +223 -0
  22. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/outputs.rb +38 -0
  23. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matcher_collection.rb +157 -0
  24. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments/commands/apply_stub_to_track_delegations.rb +77 -0
  25. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments/commands/generate_printable_arguments.rb +94 -0
  26. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments.rb +89 -0
  27. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/base.rb +99 -0
  28. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/return_custom_value.rb +91 -0
  29. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/return_delegation_value.rb +129 -0
  30. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/with_any_arguments.rb +31 -0
  31. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/with_concrete_arguments.rb +31 -0
  32. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/without_arguments.rb +31 -0
  33. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers.rb +11 -0
  34. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities.rb +5 -1
  35. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/exceptions.rb +65 -0
  36. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to.rb +163 -41
  37. data/lib/convenient_service/service/configs/minimal.rb +85 -33
  38. data/lib/convenient_service/service/configs/standard/v1.rb +42 -24
  39. data/lib/convenient_service/service/configs/standard.rb +60 -46
  40. data/lib/convenient_service/service/plugins/can_have_connected_steps/concern.rb +503 -0
  41. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/and.rb +133 -0
  42. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/base.rb +126 -0
  43. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/empty.rb +104 -0
  44. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/group.rb +118 -0
  45. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/not.rb +118 -0
  46. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb +145 -0
  47. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/scalar.rb +133 -0
  48. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions.rb +10 -0
  49. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/step_collection.rb +217 -0
  50. data/lib/convenient_service/service/plugins/can_have_connected_steps/entities.rb +4 -0
  51. data/lib/convenient_service/service/plugins/can_have_connected_steps/exceptions.rb +95 -0
  52. data/lib/convenient_service/service/plugins/can_have_connected_steps/middleware.rb +30 -0
  53. data/lib/convenient_service/service/plugins/can_have_connected_steps.rb +6 -0
  54. data/lib/convenient_service/service/plugins/can_have_sequential_steps/concern.rb +76 -0
  55. data/lib/convenient_service/service/plugins/{can_have_steps → can_have_sequential_steps}/entities/step_collection.rb +54 -10
  56. data/lib/convenient_service/service/plugins/can_have_sequential_steps/entities.rb +3 -0
  57. data/lib/convenient_service/service/plugins/{can_have_steps → can_have_sequential_steps}/middleware.rb +7 -3
  58. data/lib/convenient_service/service/plugins/can_have_sequential_steps.rb +5 -0
  59. data/lib/convenient_service/service/plugins/can_have_steps/concern.rb +4 -57
  60. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/define_method_in_container.rb +45 -26
  61. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment.rb +0 -2
  62. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/exceptions.rb +4 -24
  63. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb +155 -80
  64. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/exceptions.rb +19 -0
  65. 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 +1 -1
  66. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/can_be_executed/middleware.rb +64 -4
  67. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/can_be_executed.rb +1 -0
  68. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/concern.rb +7 -0
  69. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_alternative_steps.rb +3 -0
  70. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/concern.rb +0 -46
  71. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/middleware.rb +26 -2
  72. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_parent_result/middleware.rb +13 -1
  73. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/{can_be_result_step → has_result}/concern.rb +8 -4
  74. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/middleware.rb +33 -0
  75. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result.rb +4 -0
  76. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins.rb +2 -1
  77. data/lib/convenient_service/service/plugins/can_have_steps/entities.rb +0 -1
  78. data/lib/convenient_service/service/plugins/can_have_steps.rb +0 -1
  79. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/concern.rb +2 -2
  80. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status.rb +0 -1
  81. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/concern/instance_methods.rb +135 -2
  82. 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 -17
  83. 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
  84. 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
  85. 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
  86. 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
  87. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/exceptions.rb +15 -0
  88. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result/concern.rb +72 -0
  89. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result.rb +3 -0
  90. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/raises_on_not_checked_result_status/middleware.rb +1 -1
  91. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins.rb +1 -0
  92. data/lib/convenient_service/service/plugins/has_j_send_result.rb +0 -1
  93. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/middleware.rb +4 -0
  94. data/lib/convenient_service/service/plugins/has_negated_j_send_result/concern.rb +23 -0
  95. data/lib/convenient_service/service/plugins/has_negated_j_send_result.rb +3 -0
  96. data/lib/convenient_service/service/plugins/has_negated_result/concern.rb +33 -0
  97. data/lib/convenient_service/service/plugins/{has_j_send_result → has_negated_result}/exceptions.rb +3 -3
  98. data/lib/convenient_service/service/plugins/has_negated_result.rb +4 -0
  99. data/lib/convenient_service/service/plugins/{wraps_result_in_db_transaction → wraps_result_in_d_b_transaction}/middleware.rb +1 -1
  100. data/lib/convenient_service/service/plugins.rb +7 -2
  101. data/lib/convenient_service/specification.rb +28 -0
  102. data/lib/convenient_service/support/backtrace_cleaner.rb +6 -1
  103. data/lib/convenient_service/support/cache/entities/caches/base.rb +3 -0
  104. data/lib/convenient_service/support/method_parameters.rb +121 -0
  105. data/lib/convenient_service/support/never_reach_here.rb +21 -0
  106. data/lib/convenient_service/support/unique_value.rb +3 -0
  107. data/lib/convenient_service/support/value.rb +78 -0
  108. data/lib/convenient_service/support.rb +3 -0
  109. data/lib/convenient_service/utils/array/find_last.rb +8 -3
  110. data/lib/convenient_service/utils/object/instance_variable_delete.rb +1 -1
  111. data/lib/convenient_service/version.rb +1 -1
  112. data/lib/convenient_service.rb +23 -0
  113. metadata +109 -308
  114. data/.dev/.tmuxinator.yml +0 -22
  115. data/.dockerignore +0 -1
  116. data/.gem_release.yml +0 -11
  117. data/.github/contributing.md +0 -15
  118. data/.github/issue_template.md +0 -35
  119. data/.github/pull_request_template.md +0 -31
  120. data/.github/workflows/cd.yml +0 -68
  121. data/.github/workflows/ci.yml +0 -212
  122. data/.gitignore +0 -66
  123. data/.inch.yml +0 -7
  124. data/.rspec +0 -3
  125. data/.rubocop.yml +0 -45
  126. data/.rubocop_rspec.yml +0 -58
  127. data/.ruby-version +0 -1
  128. data/.tool-versions +0 -1
  129. data/.vscode/CacheItsValue.code-snippets +0 -15
  130. data/.vscode/DelegateTo.code-snippets +0 -15
  131. data/.vscode/cache_its_value.code-snippets +0 -17
  132. data/.vscode/comparison.code-snippets +0 -41
  133. data/.vscode/delegate_to.code-snippets +0 -20
  134. data/.yardopts +0 -16
  135. data/Appraisals +0 -146
  136. data/CHANGELOG.md +0 -504
  137. data/Gemfile +0 -17
  138. data/ROADMAP.md +0 -92
  139. data/Rakefile +0 -54
  140. data/Taskfile.yml +0 -679
  141. data/benchmark/commit_config/ips.rb +0 -18
  142. data/benchmark/commit_config/profile.rb +0 -30
  143. data/benchmark/empty_service/ips.rb +0 -123
  144. data/benchmark/has_committed_config/ips.rb +0 -78
  145. data/benchmark/has_committed_config/profile.rb +0 -30
  146. data/convenient_service.gemspec +0 -233
  147. data/coverage/.gitkeep +0 -0
  148. data/docker/2.7/Dockerfile +0 -73
  149. data/docker/3.0/Dockerfile +0 -73
  150. data/docker/3.1/Dockerfile +0 -73
  151. data/docker/3.2/Dockerfile +0 -73
  152. data/docker/jruby-9.4/Dockerfile +0 -88
  153. data/docker/truffleruby-22.3/Dockerfile +0 -91
  154. data/docs/.gitkeep +0 -0
  155. data/docs/api/.gitkeep +0 -0
  156. data/env.rb +0 -23
  157. data/gemfiles/.gitkeep +0 -0
  158. data/lib/convenient_service/common/plugins/has_callbacks/container.rb +0 -17
  159. data/lib/convenient_service/examples/dry/gemfile/dry_service/config.rb +0 -45
  160. data/lib/convenient_service/examples/dry/gemfile/dry_service.rb +0 -3
  161. data/lib/convenient_service/examples/dry/gemfile/services/assert_file_exists.rb +0 -29
  162. data/lib/convenient_service/examples/dry/gemfile/services/assert_file_not_empty.rb +0 -29
  163. data/lib/convenient_service/examples/dry/gemfile/services/assert_node_available.rb +0 -26
  164. data/lib/convenient_service/examples/dry/gemfile/services/assert_npm_package_available.rb +0 -39
  165. data/lib/convenient_service/examples/dry/gemfile/services/assert_valid_ruby_syntax.rb +0 -41
  166. data/lib/convenient_service/examples/dry/gemfile/services/format.rb +0 -37
  167. data/lib/convenient_service/examples/dry/gemfile/services/format_body.rb +0 -93
  168. data/lib/convenient_service/examples/dry/gemfile/services/format_gems_with_envs.rb +0 -96
  169. data/lib/convenient_service/examples/dry/gemfile/services/format_gems_without_envs.rb +0 -84
  170. data/lib/convenient_service/examples/dry/gemfile/services/format_header.rb +0 -74
  171. data/lib/convenient_service/examples/dry/gemfile/services/parse_content.rb +0 -93
  172. data/lib/convenient_service/examples/dry/gemfile/services/print_shell_command.rb +0 -44
  173. data/lib/convenient_service/examples/dry/gemfile/services/read_file_content.rb +0 -31
  174. data/lib/convenient_service/examples/dry/gemfile/services/run_shell_command.rb +0 -45
  175. data/lib/convenient_service/examples/dry/gemfile/services/strip_comments.rb +0 -109
  176. data/lib/convenient_service/examples/dry/gemfile/services.rb +0 -18
  177. data/lib/convenient_service/examples/dry/gemfile.rb +0 -27
  178. data/lib/convenient_service/examples/dry/v1/gemfile/dry_service/config.rb +0 -47
  179. data/lib/convenient_service/examples/dry/v1/gemfile/dry_service.rb +0 -3
  180. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_file_exists.rb +0 -31
  181. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_file_not_empty.rb +0 -31
  182. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_node_available.rb +0 -28
  183. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_npm_package_available.rb +0 -41
  184. data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -43
  185. data/lib/convenient_service/examples/dry/v1/gemfile/services/format.rb +0 -39
  186. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_body.rb +0 -95
  187. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_gems_with_envs.rb +0 -98
  188. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_gems_without_envs.rb +0 -86
  189. data/lib/convenient_service/examples/dry/v1/gemfile/services/format_header.rb +0 -76
  190. data/lib/convenient_service/examples/dry/v1/gemfile/services/parse_content.rb +0 -95
  191. data/lib/convenient_service/examples/dry/v1/gemfile/services/read_file_content.rb +0 -33
  192. data/lib/convenient_service/examples/dry/v1/gemfile/services/run_shell_command.rb +0 -43
  193. data/lib/convenient_service/examples/dry/v1/gemfile/services/strip_comments.rb +0 -111
  194. data/lib/convenient_service/examples/dry/v1/gemfile/services.rb +0 -17
  195. data/lib/convenient_service/examples/dry/v1/gemfile.rb +0 -29
  196. data/lib/convenient_service/examples/rails/gemfile/rails_service/config.rb +0 -56
  197. data/lib/convenient_service/examples/rails/gemfile/rails_service.rb +0 -3
  198. data/lib/convenient_service/examples/rails/gemfile/services/assert_file_exists.rb +0 -25
  199. data/lib/convenient_service/examples/rails/gemfile/services/assert_file_not_empty.rb +0 -25
  200. data/lib/convenient_service/examples/rails/gemfile/services/assert_node_available.rb +0 -26
  201. data/lib/convenient_service/examples/rails/gemfile/services/assert_npm_package_available.rb +0 -35
  202. data/lib/convenient_service/examples/rails/gemfile/services/assert_valid_ruby_syntax.rb +0 -35
  203. data/lib/convenient_service/examples/rails/gemfile/services/format.rb +0 -66
  204. data/lib/convenient_service/examples/rails/gemfile/services/format_body.rb +0 -79
  205. data/lib/convenient_service/examples/rails/gemfile/services/format_gems_with_envs.rb +0 -82
  206. data/lib/convenient_service/examples/rails/gemfile/services/format_gems_without_envs.rb +0 -70
  207. data/lib/convenient_service/examples/rails/gemfile/services/format_header.rb +0 -68
  208. data/lib/convenient_service/examples/rails/gemfile/services/merge_sections.rb +0 -25
  209. data/lib/convenient_service/examples/rails/gemfile/services/parse_content.rb +0 -89
  210. data/lib/convenient_service/examples/rails/gemfile/services/print_shell_command.rb +0 -40
  211. data/lib/convenient_service/examples/rails/gemfile/services/read_file_content.rb +0 -27
  212. data/lib/convenient_service/examples/rails/gemfile/services/replace_file_content.rb +0 -37
  213. data/lib/convenient_service/examples/rails/gemfile/services/run_shell_command.rb +0 -40
  214. data/lib/convenient_service/examples/rails/gemfile/services/strip_comments.rb +0 -107
  215. data/lib/convenient_service/examples/rails/gemfile/services.rb +0 -21
  216. data/lib/convenient_service/examples/rails/gemfile.rb +0 -27
  217. data/lib/convenient_service/examples/rails/v1/gemfile/rails_service/config.rb +0 -58
  218. data/lib/convenient_service/examples/rails/v1/gemfile/rails_service.rb +0 -3
  219. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_file_exists.rb +0 -27
  220. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_file_not_empty.rb +0 -27
  221. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_node_available.rb +0 -28
  222. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_npm_package_available.rb +0 -37
  223. data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -37
  224. data/lib/convenient_service/examples/rails/v1/gemfile/services/format.rb +0 -68
  225. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_body.rb +0 -81
  226. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_gems_with_envs.rb +0 -84
  227. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_gems_without_envs.rb +0 -72
  228. data/lib/convenient_service/examples/rails/v1/gemfile/services/format_header.rb +0 -70
  229. data/lib/convenient_service/examples/rails/v1/gemfile/services/merge_sections.rb +0 -27
  230. data/lib/convenient_service/examples/rails/v1/gemfile/services/parse_content.rb +0 -91
  231. data/lib/convenient_service/examples/rails/v1/gemfile/services/read_file_content.rb +0 -29
  232. data/lib/convenient_service/examples/rails/v1/gemfile/services/replace_file_content.rb +0 -39
  233. data/lib/convenient_service/examples/rails/v1/gemfile/services/run_shell_command.rb +0 -38
  234. data/lib/convenient_service/examples/rails/v1/gemfile/services/strip_comments.rb +0 -109
  235. data/lib/convenient_service/examples/rails/v1/gemfile/services.rb +0 -20
  236. data/lib/convenient_service/examples/rails/v1/gemfile.rb +0 -29
  237. data/lib/convenient_service/examples/standard/cowsay/services/build_cloud.rb +0 -42
  238. data/lib/convenient_service/examples/standard/cowsay/services/build_cow.rb +0 -38
  239. data/lib/convenient_service/examples/standard/cowsay/services/print.rb +0 -32
  240. data/lib/convenient_service/examples/standard/cowsay/services.rb +0 -5
  241. data/lib/convenient_service/examples/standard/cowsay.rb +0 -26
  242. data/lib/convenient_service/examples/standard/date_time/services/safe_parse.rb +0 -31
  243. data/lib/convenient_service/examples/standard/date_time/services.rb +0 -3
  244. data/lib/convenient_service/examples/standard/date_time.rb +0 -25
  245. data/lib/convenient_service/examples/standard/factorial/services/calculate.rb +0 -55
  246. data/lib/convenient_service/examples/standard/factorial/services.rb +0 -3
  247. data/lib/convenient_service/examples/standard/factorial/utils/timeout/with_timeout.rb +0 -50
  248. data/lib/convenient_service/examples/standard/factorial/utils/timeout.rb +0 -21
  249. data/lib/convenient_service/examples/standard/factorial/utils.rb +0 -3
  250. data/lib/convenient_service/examples/standard/factorial.rb +0 -26
  251. data/lib/convenient_service/examples/standard/gemfile/services/assert_file_exists.rb +0 -30
  252. data/lib/convenient_service/examples/standard/gemfile/services/assert_file_not_empty.rb +0 -30
  253. data/lib/convenient_service/examples/standard/gemfile/services/assert_node_available.rb +0 -26
  254. data/lib/convenient_service/examples/standard/gemfile/services/assert_npm_package_available.rb +0 -48
  255. data/lib/convenient_service/examples/standard/gemfile/services/assert_valid_ruby_syntax.rb +0 -39
  256. data/lib/convenient_service/examples/standard/gemfile/services/format.rb +0 -80
  257. data/lib/convenient_service/examples/standard/gemfile/services/format_body.rb +0 -83
  258. data/lib/convenient_service/examples/standard/gemfile/services/format_gems_with_envs.rb +0 -86
  259. data/lib/convenient_service/examples/standard/gemfile/services/format_gems_without_envs.rb +0 -74
  260. data/lib/convenient_service/examples/standard/gemfile/services/format_header.rb +0 -66
  261. data/lib/convenient_service/examples/standard/gemfile/services/merge_sections.rb +0 -52
  262. data/lib/convenient_service/examples/standard/gemfile/services/parse_content.rb +0 -101
  263. data/lib/convenient_service/examples/standard/gemfile/services/print_shell_command.rb +0 -45
  264. data/lib/convenient_service/examples/standard/gemfile/services/read_file_content.rb +0 -39
  265. data/lib/convenient_service/examples/standard/gemfile/services/replace_file_content.rb +0 -48
  266. data/lib/convenient_service/examples/standard/gemfile/services/run_shell_command.rb +0 -54
  267. data/lib/convenient_service/examples/standard/gemfile/services/strip_comments.rb +0 -111
  268. data/lib/convenient_service/examples/standard/gemfile/services.rb +0 -21
  269. data/lib/convenient_service/examples/standard/gemfile.rb +0 -26
  270. data/lib/convenient_service/examples/standard/request_params/constants.rb +0 -15
  271. data/lib/convenient_service/examples/standard/request_params/entities/description.rb +0 -40
  272. data/lib/convenient_service/examples/standard/request_params/entities/format.rb +0 -40
  273. data/lib/convenient_service/examples/standard/request_params/entities/id.rb +0 -47
  274. data/lib/convenient_service/examples/standard/request_params/entities/logger.rb +0 -21
  275. data/lib/convenient_service/examples/standard/request_params/entities/request.rb +0 -23
  276. data/lib/convenient_service/examples/standard/request_params/entities/source.rb +0 -40
  277. data/lib/convenient_service/examples/standard/request_params/entities/tag.rb +0 -40
  278. data/lib/convenient_service/examples/standard/request_params/entities/title.rb +0 -40
  279. data/lib/convenient_service/examples/standard/request_params/entities.rb +0 -11
  280. data/lib/convenient_service/examples/standard/request_params/services/apply_default_param_values.rb +0 -26
  281. data/lib/convenient_service/examples/standard/request_params/services/cast_params.rb +0 -38
  282. data/lib/convenient_service/examples/standard/request_params/services/extract_params_from_body.rb +0 -70
  283. data/lib/convenient_service/examples/standard/request_params/services/extract_params_from_path.rb +0 -62
  284. data/lib/convenient_service/examples/standard/request_params/services/filter_out_unpermitted_params.rb +0 -26
  285. data/lib/convenient_service/examples/standard/request_params/services/log_request_params.rb +0 -54
  286. data/lib/convenient_service/examples/standard/request_params/services/merge_params.rb +0 -26
  287. data/lib/convenient_service/examples/standard/request_params/services/prepare.rb +0 -65
  288. data/lib/convenient_service/examples/standard/request_params/services/validate_casted_params.rb +0 -94
  289. data/lib/convenient_service/examples/standard/request_params/services/validate_uncasted_params.rb +0 -72
  290. data/lib/convenient_service/examples/standard/request_params/services.rb +0 -13
  291. data/lib/convenient_service/examples/standard/request_params/utils/array/wrap.rb +0 -46
  292. data/lib/convenient_service/examples/standard/request_params/utils/array.rb +0 -21
  293. data/lib/convenient_service/examples/standard/request_params/utils/http/request/parse_body.rb +0 -42
  294. data/lib/convenient_service/examples/standard/request_params/utils/http/request/parse_path.rb +0 -40
  295. data/lib/convenient_service/examples/standard/request_params/utils/http/request.rb +0 -28
  296. data/lib/convenient_service/examples/standard/request_params/utils/http.rb +0 -3
  297. data/lib/convenient_service/examples/standard/request_params/utils/integer/safe_parse.rb +0 -31
  298. data/lib/convenient_service/examples/standard/request_params/utils/integer.rb +0 -25
  299. data/lib/convenient_service/examples/standard/request_params/utils/json/safe_parse.rb +0 -40
  300. data/lib/convenient_service/examples/standard/request_params/utils/json.rb +0 -21
  301. data/lib/convenient_service/examples/standard/request_params/utils/object/blank.rb +0 -34
  302. data/lib/convenient_service/examples/standard/request_params/utils/object/present.rb +0 -31
  303. data/lib/convenient_service/examples/standard/request_params/utils/object.rb +0 -26
  304. data/lib/convenient_service/examples/standard/request_params/utils/url/valid.rb +0 -47
  305. data/lib/convenient_service/examples/standard/request_params/utils/url.rb +0 -21
  306. data/lib/convenient_service/examples/standard/request_params/utils.rb +0 -8
  307. data/lib/convenient_service/examples/standard/request_params.rb +0 -49
  308. data/lib/convenient_service/examples/standard/v1/cowsay/services/build_cloud.rb +0 -44
  309. data/lib/convenient_service/examples/standard/v1/cowsay/services/build_cow.rb +0 -40
  310. data/lib/convenient_service/examples/standard/v1/cowsay/services/print.rb +0 -34
  311. data/lib/convenient_service/examples/standard/v1/cowsay/services.rb +0 -5
  312. data/lib/convenient_service/examples/standard/v1/cowsay.rb +0 -26
  313. data/lib/convenient_service/examples/standard/v1/date_time/services/safe_parse.rb +0 -33
  314. data/lib/convenient_service/examples/standard/v1/date_time/services.rb +0 -3
  315. data/lib/convenient_service/examples/standard/v1/date_time.rb +0 -25
  316. data/lib/convenient_service/examples/standard/v1/factorial/services/calculate.rb +0 -51
  317. data/lib/convenient_service/examples/standard/v1/factorial/services.rb +0 -3
  318. data/lib/convenient_service/examples/standard/v1/factorial/utils/timeout/with_timeout.rb +0 -52
  319. data/lib/convenient_service/examples/standard/v1/factorial/utils/timeout.rb +0 -23
  320. data/lib/convenient_service/examples/standard/v1/factorial/utils.rb +0 -3
  321. data/lib/convenient_service/examples/standard/v1/factorial.rb +0 -26
  322. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_file_exists.rb +0 -32
  323. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_file_not_empty.rb +0 -32
  324. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_node_available.rb +0 -28
  325. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_npm_package_available.rb +0 -50
  326. data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -41
  327. data/lib/convenient_service/examples/standard/v1/gemfile/services/format.rb +0 -82
  328. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_body.rb +0 -85
  329. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_gems_with_envs.rb +0 -88
  330. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_gems_without_envs.rb +0 -76
  331. data/lib/convenient_service/examples/standard/v1/gemfile/services/format_header.rb +0 -68
  332. data/lib/convenient_service/examples/standard/v1/gemfile/services/merge_sections.rb +0 -54
  333. data/lib/convenient_service/examples/standard/v1/gemfile/services/parse_content.rb +0 -103
  334. data/lib/convenient_service/examples/standard/v1/gemfile/services/read_file_content.rb +0 -41
  335. data/lib/convenient_service/examples/standard/v1/gemfile/services/replace_file_content.rb +0 -50
  336. data/lib/convenient_service/examples/standard/v1/gemfile/services/run_shell_command.rb +0 -52
  337. data/lib/convenient_service/examples/standard/v1/gemfile/services/strip_comments.rb +0 -113
  338. data/lib/convenient_service/examples/standard/v1/gemfile/services.rb +0 -20
  339. data/lib/convenient_service/examples/standard/v1/gemfile.rb +0 -26
  340. data/lib/convenient_service/examples/standard/v1/request_params/constants.rb +0 -17
  341. data/lib/convenient_service/examples/standard/v1/request_params/entities/description.rb +0 -42
  342. data/lib/convenient_service/examples/standard/v1/request_params/entities/format.rb +0 -42
  343. data/lib/convenient_service/examples/standard/v1/request_params/entities/id.rb +0 -49
  344. data/lib/convenient_service/examples/standard/v1/request_params/entities/logger.rb +0 -23
  345. data/lib/convenient_service/examples/standard/v1/request_params/entities/request.rb +0 -25
  346. data/lib/convenient_service/examples/standard/v1/request_params/entities/source.rb +0 -42
  347. data/lib/convenient_service/examples/standard/v1/request_params/entities/tag.rb +0 -42
  348. data/lib/convenient_service/examples/standard/v1/request_params/entities/title.rb +0 -42
  349. data/lib/convenient_service/examples/standard/v1/request_params/entities.rb +0 -11
  350. data/lib/convenient_service/examples/standard/v1/request_params/services/apply_default_param_values.rb +0 -28
  351. data/lib/convenient_service/examples/standard/v1/request_params/services/cast_params.rb +0 -40
  352. data/lib/convenient_service/examples/standard/v1/request_params/services/extract_params_from_body.rb +0 -72
  353. data/lib/convenient_service/examples/standard/v1/request_params/services/extract_params_from_path.rb +0 -64
  354. data/lib/convenient_service/examples/standard/v1/request_params/services/filter_out_unpermitted_params.rb +0 -28
  355. data/lib/convenient_service/examples/standard/v1/request_params/services/log_request_params.rb +0 -56
  356. data/lib/convenient_service/examples/standard/v1/request_params/services/merge_params.rb +0 -28
  357. data/lib/convenient_service/examples/standard/v1/request_params/services/prepare.rb +0 -67
  358. data/lib/convenient_service/examples/standard/v1/request_params/services/validate_casted_params.rb +0 -96
  359. data/lib/convenient_service/examples/standard/v1/request_params/services/validate_uncasted_params.rb +0 -74
  360. data/lib/convenient_service/examples/standard/v1/request_params/services.rb +0 -13
  361. data/lib/convenient_service/examples/standard/v1/request_params/utils/array/wrap.rb +0 -48
  362. data/lib/convenient_service/examples/standard/v1/request_params/utils/array.rb +0 -23
  363. data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request/parse_body.rb +0 -44
  364. data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request/parse_path.rb +0 -42
  365. data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request.rb +0 -30
  366. data/lib/convenient_service/examples/standard/v1/request_params/utils/http.rb +0 -3
  367. data/lib/convenient_service/examples/standard/v1/request_params/utils/integer/safe_parse.rb +0 -33
  368. data/lib/convenient_service/examples/standard/v1/request_params/utils/integer.rb +0 -27
  369. data/lib/convenient_service/examples/standard/v1/request_params/utils/json/safe_parse.rb +0 -42
  370. data/lib/convenient_service/examples/standard/v1/request_params/utils/json.rb +0 -23
  371. data/lib/convenient_service/examples/standard/v1/request_params/utils/object/blank.rb +0 -36
  372. data/lib/convenient_service/examples/standard/v1/request_params/utils/object/present.rb +0 -33
  373. data/lib/convenient_service/examples/standard/v1/request_params/utils/object.rb +0 -28
  374. data/lib/convenient_service/examples/standard/v1/request_params/utils/url/valid.rb +0 -49
  375. data/lib/convenient_service/examples/standard/v1/request_params/utils/url.rb +0 -23
  376. data/lib/convenient_service/examples/standard/v1/request_params/utils.rb +0 -8
  377. data/lib/convenient_service/examples/standard/v1/request_params.rb +0 -49
  378. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/commands/generate_printable_method.rb +0 -50
  379. 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 -82
  380. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments/commands/generate_printable_arguments.rb +0 -100
  381. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments.rb +0 -95
  382. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/base.rb +0 -87
  383. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/return_its_value.rb +0 -132
  384. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/with_any_arguments.rb +0 -37
  385. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/with_concrete_arguments.rb +0 -37
  386. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/without_arguments.rb +0 -37
  387. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/base.rb +0 -41
  388. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/with_calling_original.rb +0 -30
  389. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/without_calling_original.rb +0 -30
  390. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings.rb +0 -12
  391. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings_collection/exceptions.rb +0 -57
  392. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings_collection.rb +0 -171
  393. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/delegation.rb +0 -79
  394. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities.rb +0 -5
  395. data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher.rb +0 -276
  396. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb +0 -74
  397. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands.rb +0 -3
  398. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step/can_be_executed/middleware.rb +0 -72
  399. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step/can_be_executed.rb +0 -4
  400. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step.rb +0 -5
  401. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/middleware.rb +0 -43
  402. data/logo.png +0 -0
  403. data/minitest.rb +0 -30
  404. data/yard/yard-convenient_service_concern.rb +0 -45
  405. /data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/{entities/matcher/commands.rb → commands.rb} +0 -0
  406. /data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/{matcher/entities/chainings/sub_matchers → sub_matchers}/arguments/commands.rb +0 -0
data/Taskfile.yml DELETED
@@ -1,679 +0,0 @@
1
- version: '3'
2
-
3
- ##
4
- # IMPORTANT: All tasks listed in this file should be executed from the root folder.
5
- # https://taskfile.dev/usage/#task-directory
6
- #
7
- # NOTE: Examples of multiline strings in YAML.
8
- # https://yaml-multiline.info/
9
- #
10
- # NOTE: Use `[ "${IN_DOCKER_CONTAINER}" == "true" ] && echo true || echo false` to debug ``[ "${IN_DOCKER_CONTAINER}" == "true" ]`.
11
- #
12
- # NOTE: Forwarding CLI arguments to commands ({{.CLI_ARGS}}).
13
- # https://taskfile.dev/usage/#forwarding-cli-arguments-to-commands
14
- #
15
- tasks:
16
- default:
17
- cmds:
18
- - task: test
19
-
20
- ##
21
- # NOTE: `task console` is also aliased as `task playground`.
22
- #
23
- console:
24
- cmds:
25
- - bundle exec rake playground
26
- interactive: true
27
-
28
- ##
29
- # NOTE: `task console:all` is also aliased as `task playground:all`.
30
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
31
- #
32
- console:all:
33
- cmds:
34
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
35
- vars:
36
- APPRAISAL_NAME:
37
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "all"].join("_")'
38
- interactive: true
39
-
40
- ##
41
- # NOTE: `task console:dry` is also aliased as `task playground:dry`.
42
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
43
- #
44
- console:dry:
45
- cmds:
46
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
47
- vars:
48
- APPRAISAL_NAME:
49
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "dry"].join("_")'
50
- interactive: true
51
-
52
- ##
53
- # NOTE: `task console:rails_5.2` is also aliased as `task playground:rails_5.2`.
54
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
55
- #
56
- console:rails_5.2:
57
- cmds:
58
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
59
- vars:
60
- APPRAISAL_NAME:
61
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_5.2"].join("_")'
62
- interactive: true
63
-
64
- ##
65
- # NOTE: `task console:rails_6.0` is also aliased as `task playground:rails_6.0`.
66
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
67
- #
68
- console:rails_6.0:
69
- cmds:
70
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
71
- vars:
72
- APPRAISAL_NAME:
73
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_6.0"].join("_")'
74
- interactive: true
75
-
76
- ##
77
- # NOTE: `task console:rails_6.1` is also aliased as `task playground:rails_6.1`.
78
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
79
- #
80
- console:rails_6.1:
81
- cmds:
82
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
83
- vars:
84
- APPRAISAL_NAME:
85
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_6.1"].join("_")'
86
- interactive: true
87
-
88
- ##
89
- # NOTE: `task console:rails_7.0` is also aliased as `task playground:rails_7.0`.
90
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
91
- #
92
- console:rails_7.0:
93
- cmds:
94
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
95
- vars:
96
- APPRAISAL_NAME:
97
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_7.0"].join("_")'
98
- interactive: true
99
-
100
- ##
101
- # NOTE: `task console:standard` is also aliased as `task playground:standard`.
102
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
103
- #
104
- console:standard:
105
- cmds:
106
- - bundle exec rake playground
107
- interactive: true
108
-
109
- coverage:lcov:merge:
110
- cmds:
111
- - npx --yes lcov-result-merger 'coverage/**/lcov.info' coverage/lcov.info
112
-
113
- coverage:open:
114
- cmds:
115
- - open coverage/index.html
116
- preconditions:
117
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
118
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
119
-
120
- deps:
121
- cmds:
122
- - task: deps:install
123
-
124
- ##
125
- # NOTE: `task deps:install` is also aliased as `task install`.
126
- #
127
- deps:install:
128
- cmds:
129
- - bundle install
130
- - bundle exec appraisal install
131
-
132
- deps:clean:
133
- cmds:
134
- - "bundle exec rake confirm \"This task removes Gemfile*.lock and gemfiles/**/*. Are you sure?\""
135
- - rm Gemfile*.lock
136
- - rm -rf gemfiles
137
-
138
- ##
139
- # NOTE: JRuby 9.4 aims CRuby 3.1 compatibility.
140
- # - https://www.jruby.org/download
141
- #
142
- docker:bash:jruby_9.4:
143
- cmds:
144
- - docker run --rm -it -v $(pwd):/gem convenient_service:jruby-9.4 bash
145
- interactive: true
146
- preconditions:
147
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
148
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
149
-
150
- docker:bash:ruby_2.7:
151
- cmds:
152
- - docker run --rm -it -v $(pwd):/gem convenient_service:2.7 bash
153
- interactive: true
154
- preconditions:
155
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
156
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
157
-
158
- docker:bash:ruby_3.0:
159
- cmds:
160
- - docker run --rm -it -v $(pwd):/gem convenient_service:3.0 bash
161
- interactive: true
162
- preconditions:
163
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
164
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
165
-
166
- docker:bash:ruby_3.1:
167
- cmds:
168
- - docker run --rm -it -v $(pwd):/gem convenient_service:3.1 bash
169
- interactive: true
170
- preconditions:
171
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
172
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
173
-
174
- docker:bash:ruby_3.2:
175
- cmds:
176
- - docker run --rm -it -v $(pwd):/gem convenient_service:3.2 bash
177
- interactive: true
178
- preconditions:
179
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
180
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
181
-
182
- ##
183
- # NOTE: TruffleRuby 22.3 aims CRuby 3.1 compatibility.
184
- # - https://github.com/oracle/truffleruby/blob/master/doc/user/compatibility.md
185
- #
186
- docker:bash:truffleruby_22.3:
187
- cmds:
188
- - docker run --rm -it -v $(pwd):/gem convenient_service:truffleruby-22.3 bash
189
- interactive: true
190
- preconditions:
191
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
192
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
193
-
194
- docker:build:
195
- cmds:
196
- - task: docker:build:ruby_2.7
197
- - task: docker:build:ruby_3.0
198
- - task: docker:build:ruby_3.1
199
- - task: docker:build:ruby_3.2
200
- - task: docker:build:jruby_9.4
201
- - task: docker:build:truffleruby_22.3
202
- preconditions:
203
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
204
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
205
-
206
- ##
207
- # NOTE: JRuby 9.4 aims CRuby 3.1 compatibility.
208
- # - https://www.jruby.org/download
209
- #
210
- docker:build:jruby_9.4:
211
- cmds:
212
- ##
213
- # NOTE: Meaning of `|| 2> /dev/null`.
214
- # https://stackoverflow.com/a/10250395/12201472
215
- #
216
- # NOTE: Meaning of `|| true`.
217
- # https://superuser.com/a/887349/1180656
218
- #
219
- - rm Gemfile.jruby-9.4 2> /dev/null || true
220
- - rm Gemfile.jruby-9.4.lock 2> /dev/null || true
221
- - cp Gemfile Gemfile.jruby-9.4
222
- - docker build . -f docker/jruby-9.4/Dockerfile -t convenient_service:jruby-9.4
223
- preconditions:
224
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
225
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
226
-
227
- docker:build:ruby_2.7:
228
- cmds:
229
- ##
230
- # NOTE: Meaning of `|| 2> /dev/null`.
231
- # https://stackoverflow.com/a/10250395/12201472
232
- #
233
- # NOTE: Meaning of `|| true`.
234
- # https://superuser.com/a/887349/1180656
235
- #
236
- - rm Gemfile.2.7 2> /dev/null || true
237
- - rm Gemfile.2.7.lock 2> /dev/null || true
238
- - cp Gemfile Gemfile.2.7
239
- - docker build . -f docker/2.7/Dockerfile -t convenient_service:2.7
240
- preconditions:
241
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
242
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
243
-
244
- docker:build:ruby_3.0:
245
- cmds:
246
- ##
247
- # NOTE: Meaning of `|| 2> /dev/null`.
248
- # https://stackoverflow.com/a/10250395/12201472
249
- #
250
- # NOTE: Meaning of `|| true`.
251
- # https://superuser.com/a/887349/1180656
252
- #
253
- - rm Gemfile.3.0 2> /dev/null || true
254
- - rm Gemfile.3.0.lock 2> /dev/null || true
255
- - cp Gemfile Gemfile.3.0
256
- - docker build . -f docker/3.0/Dockerfile -t convenient_service:3.0
257
- preconditions:
258
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
259
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
260
-
261
- docker:build:ruby_3.1:
262
- cmds:
263
- ##
264
- # NOTE: Meaning of `|| 2> /dev/null`.
265
- # https://stackoverflow.com/a/10250395/12201472
266
- #
267
- # NOTE: Meaning of `|| true`.
268
- # https://superuser.com/a/887349/1180656
269
- #
270
- - rm Gemfile.3.1 2> /dev/null || true
271
- - rm Gemfile.3.1.lock 2> /dev/null || true
272
- - cp Gemfile Gemfile.3.1
273
- - docker build . -f docker/3.1/Dockerfile -t convenient_service:3.1
274
- preconditions:
275
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
276
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
277
-
278
- docker:build:ruby_3.2:
279
- cmds:
280
- ##
281
- # NOTE: Meaning of `|| 2> /dev/null`.
282
- # https://stackoverflow.com/a/10250395/12201472
283
- #
284
- # NOTE: Meaning of `|| true`.
285
- # https://superuser.com/a/887349/1180656
286
- #
287
- - rm Gemfile.3.2 2> /dev/null || true
288
- - rm Gemfile.3.2.lock 2> /dev/null || true
289
- - cp Gemfile Gemfile.3.2
290
- - docker build . -f docker/3.2/Dockerfile -t convenient_service:3.2
291
- preconditions:
292
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
293
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
294
-
295
- ##
296
- # NOTE: TruffleRuby 22.3 aims CRuby 3.1 compatibility.
297
- # - https://github.com/oracle/truffleruby/blob/master/doc/user/compatibility.md
298
- #
299
- docker:build:truffleruby_22.3:
300
- cmds:
301
- ##
302
- # NOTE: Meaning of `|| 2> /dev/null`.
303
- # https://stackoverflow.com/a/10250395/12201472
304
- #
305
- # NOTE: Meaning of `|| true`.
306
- # https://superuser.com/a/887349/1180656
307
- #
308
- - rm Gemfile.truffleruby-22.3 2> /dev/null || true
309
- - rm Gemfile.truffleruby-22.3.lock 2> /dev/null || true
310
- - cp Gemfile Gemfile.truffleruby-22.3
311
- - docker build . -f docker/truffleruby-22.3/Dockerfile -t convenient_service:truffleruby-22.3
312
- preconditions:
313
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
314
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
315
-
316
- ##
317
- # NOTE: Dev only command.
318
- # NOTE: macOS specific command.
319
- #
320
- docker:start:
321
- cmds:
322
- - open -a Docker
323
-
324
- ##
325
- # NOTE: `sdoc` (wrapper for `rdoc`) is replaced by `yard`, since you have a feeling like every time is a first time with `rdoc`.
326
- # - https://kapeli.com/cheat_sheets/Yard.docset/Contents/Resources/Documents/index
327
- # - https://rubydoc.info/gems/yard/file/README.md
328
- # - `yardoc --help`
329
- #
330
- # NOTE: `commonmarker` supports GitHub Flavored Markdown.
331
- # - https://github.com/gjtorikian/commonmarker
332
- # - https://github.github.com/gfm/
333
- # - https://github.com/github/markup#markups
334
- # - https://github.com/lsegal/yard/pull/1388
335
- #
336
- # TODO: Contribute. Forward `--parse-option LIBERAL_HTML_TAG` to commonmarker.
337
- #
338
- # NOTE: options are specified in the `.yardopts` file.
339
- #
340
- docs:generate:
341
- cmds:
342
- ##
343
- # NOTE: yard supports plugins as gems only.
344
- # - https://rubydoc.info/gems/yard/file/docs/GettingStarted.md#plugin-support
345
- #
346
- # NOTE: `RUBYLIB` is used to extend Ruby's `$LOAD_PATH`. This way yard treats `./yard` folder as a directory with custom gems.
347
- #
348
- - RUBYLIB=./yard bundle exec yardoc
349
-
350
- docs:generate:open:
351
- cmds:
352
- - task: docs:generate
353
- - task: docs:open
354
-
355
- docs:lint:
356
- cmds:
357
- - task: yard_junk
358
-
359
- docs:missed:
360
- cmds:
361
- ##
362
- # NOTE: Options are taken from `.inch.yml`.
363
- #
364
- - bundle exec inch
365
-
366
- docs:open:
367
- cmds:
368
- - open docs/index.html
369
- preconditions:
370
- - sh: '[ "${IN_DOCKER_CONTAINER}" != "true" ]'
371
- msg: This task can be invoked only from the host operating system (https://www.ibm.com/cloud/learn/containerization)
372
-
373
- ##
374
- # NOTE: Dev only command.
375
- #
376
- editor:open:
377
- cmds:
378
- - code .
379
-
380
- ##
381
- # NOTE: A trailing "/**" matches everything inside.
382
- # https://git-scm.com/docs/gitignore
383
- #
384
- git:staged:specs:
385
- cmds:
386
- - git diff --cached --name-only --diff-filter=d "spec/**"
387
-
388
- ##
389
- # NOTE: Dev only command.
390
- # NOTE: macOS specific command.
391
- #
392
- github:open:
393
- cmds:
394
- - open -na "Google Chrome" --args --new-window --incognito "https://github.com/marian13/convenient_service"
395
-
396
- ##
397
- # NOTE: `task install` is also aliased as `task deps:install`.
398
- #
399
- install:
400
- cmds:
401
- - task: deps:install
402
-
403
- lint:
404
- cmds:
405
- - task: rubocop
406
- - task: docs:lint
407
-
408
- lint:autocorrect:
409
- cmds:
410
- - task: rubocop:autocorrect
411
-
412
- ##
413
- # TODO: Add to CI.
414
- #
415
- minitest:
416
- cmds:
417
- - bundle exec ruby minitest.rb
418
-
419
- ##
420
- # - https://github.com/mbj/mutant/blob/main/docs/mutant-rspec.md#run-through-example
421
- #
422
- mutant:
423
- cmds:
424
- - bundle exec mutant run --include lib --require convenient_service --integration rspec -- 'ConvenientService*'
425
-
426
- ##
427
- # NOTE: `task playground` is also aliased as `task console`.
428
- #
429
- playground:
430
- cmds:
431
- - bundle exec rake playground
432
- interactive: true
433
-
434
- ##
435
- # NOTE: `task playground:all` is also aliased as `task console:all`.
436
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
437
- #
438
- playground:all:
439
- cmds:
440
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
441
- vars:
442
- APPRAISAL_NAME:
443
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "all"].join("_")'
444
- interactive: true
445
-
446
- ##
447
- # NOTE: `task playground:dry` is also aliased as `task console:dry`.
448
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
449
- #
450
- playground:dry:
451
- cmds:
452
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
453
- vars:
454
- APPRAISAL_NAME:
455
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "dry"].join("_")'
456
- interactive: true
457
-
458
- ##
459
- # NOTE: `task playground:rails_5.2` is also aliased as `task console:rails_5.2`.
460
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
461
- #
462
- playground:rails_5.2:
463
- cmds:
464
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
465
- vars:
466
- APPRAISAL_NAME:
467
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_5.2"].join("_")'
468
- interactive: true
469
-
470
- ##
471
- # NOTE: `task playground:rails_6.0` is also aliased as `task console:rails_6.0`.
472
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
473
- #
474
- playground:rails_6.0:
475
- cmds:
476
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
477
- vars:
478
- APPRAISAL_NAME:
479
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_6.0"].join("_")'
480
- interactive: true
481
-
482
- ##
483
- # NOTE: `task playground:rails_6.1` is also aliased as `task console:rails_6.1`.
484
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
485
- #
486
- playground:rails_6.1:
487
- cmds:
488
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
489
- vars:
490
- APPRAISAL_NAME:
491
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_6.1"].join("_")'
492
- interactive: true
493
-
494
- ##
495
- # NOTE: `task playground:rails_7.0` is also aliased as `task console:rails_7.0`.
496
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
497
- #
498
- playground:rails_7.0:
499
- cmds:
500
- - bundle exec appraisal {{.APPRAISAL_NAME}} rake playground
501
- vars:
502
- APPRAISAL_NAME:
503
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_7.0"].join("_")'
504
- interactive: true
505
-
506
- ##
507
- # NOTE: `task playground:standard` is also aliased as `task console:standard`.
508
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
509
- #
510
- playground:standard:
511
- cmds:
512
- - bundle exec rake playground
513
- interactive: true
514
-
515
- release:
516
- cmds:
517
- - gem release
518
-
519
- rspec:
520
- cmds:
521
- - task: rspec:standard
522
- - task: rspec:rails_7.0
523
- - task: rspec:rails_6.1
524
- - task: rspec:rails_6.0
525
- - task: rspec:rails_5.2
526
- - task: rspec:dry
527
-
528
- ##
529
- # NOTE: Run rspec only for git staged spec files.
530
- # https://githowto.com/staging_and_committing
531
- #
532
- rspec:staged:
533
- cmds:
534
- - task: rspec:standard:staged
535
- - task: rspec:rails_5.2:staged
536
- - task: rspec:rails_6.0:staged
537
- - task: rspec:rails_6.1:staged
538
- - task: rspec:rails_7.0:staged
539
- - task: rspec:dry:staged
540
-
541
- ##
542
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
543
- #
544
- rspec:dry:
545
- cmds:
546
- - bundle exec appraisal {{.APPRAISAL_NAME}} rspec --format progress --require dry_helper {{.GIT_STAGED_SPEC_FILES}} {{.CLI_ARGS}}
547
- vars:
548
- APPRAISAL_NAME:
549
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "dry"].join("_")'
550
-
551
- rspec:dry:staged:
552
- - task: rspec:dry
553
- vars:
554
- GIT_STAGED_SPEC_FILES:
555
- ##
556
- # NOTE: `task: git:staged:specs` does NOT work.
557
- #
558
- sh: task git:staged:specs --silent
559
-
560
- ##
561
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
562
- #
563
- rspec:rails_5.2:
564
- cmds:
565
- - bundle exec appraisal {{.APPRAISAL_NAME}} rspec --format progress --require rails_helper {{.GIT_STAGED_SPEC_FILES}} {{.CLI_ARGS}}
566
- vars:
567
- APPRAISAL_NAME:
568
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_5.2"].join("_")'
569
-
570
- rspec:rails_5.2:staged:
571
- - task: rspec:rails_5.2
572
- vars:
573
- GIT_STAGED_SPEC_FILES:
574
- ##
575
- # NOTE: `task: git:staged:specs` does NOT work.
576
- #
577
- sh: task git:staged:specs --silent
578
-
579
- ##
580
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
581
- #
582
- rspec:rails_6.0:
583
- cmds:
584
- - bundle exec appraisal {{.APPRAISAL_NAME}} rspec --format progress --require rails_helper {{.GIT_STAGED_SPEC_FILES}} {{.CLI_ARGS}}
585
- vars:
586
- APPRAISAL_NAME:
587
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_6.0"].join("_")'
588
-
589
- rspec:rails_6.0:staged:
590
- - task: rspec:rails_6.0
591
- vars:
592
- GIT_STAGED_SPEC_FILES:
593
- ##
594
- # NOTE: `task: git:staged:specs` does NOT work.
595
- #
596
- sh: task git:staged:specs --silent
597
-
598
- ##
599
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
600
- #
601
- rspec:rails_6.1:
602
- cmds:
603
- - bundle exec appraisal {{.APPRAISAL_NAME}} rspec --format progress --require rails_helper {{.GIT_STAGED_SPEC_FILES}} {{.CLI_ARGS}}
604
- vars:
605
- APPRAISAL_NAME:
606
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_6.1"].join("_")'
607
-
608
- rspec:rails_6.1:staged:
609
- - task: rspec:rails_6.1
610
- vars:
611
- GIT_STAGED_SPEC_FILES:
612
- ##
613
- # NOTE: `task: git:staged:specs` does NOT work.
614
- #
615
- sh: task git:staged:specs --silent
616
-
617
- ##
618
- # NOTE: `APPRAISAL_NAME` should be kept in sync with `Appraisals` file.
619
- #
620
- rspec:rails_7.0:
621
- cmds:
622
- - bundle exec appraisal {{.APPRAISAL_NAME}} rspec --format progress --require rails_helper {{.GIT_STAGED_SPEC_FILES}} {{.CLI_ARGS}}
623
- vars:
624
- APPRAISAL_NAME:
625
- sh: ruby -e 'print [::RUBY_ENGINE, ::RUBY_VERSION, "rails_7.0"].join("_")'
626
-
627
- rspec:rails_7.0:staged:
628
- - task: rspec:rails_7.0
629
- vars:
630
- GIT_STAGED_SPEC_FILES:
631
- ##
632
- # NOTE: `task: git:staged:specs` does NOT work.
633
- #
634
- sh: task git:staged:specs --silent
635
-
636
- rspec:standard:
637
- cmds:
638
- - bundle exec rspec --format progress {{.GIT_STAGED_SPEC_FILES}} {{.CLI_ARGS}}
639
-
640
- rspec:standard:staged:
641
- cmds:
642
- - task: rspec:standard
643
- vars:
644
- GIT_STAGED_SPEC_FILES:
645
- ##
646
- # NOTE: `task: git:staged:specs` does NOT work.
647
- #
648
- sh: task git:staged:specs --silent
649
-
650
- rubocop:
651
- cmds:
652
- - bundle exec rubocop --config .rubocop.yml {{.CLI_ARGS}}
653
-
654
- rubocop:autocorrect:
655
- cmds:
656
- - bundle exec rubocop --config .rubocop.yml -A {{.CLI_ARGS}}
657
-
658
- test:
659
- cmds:
660
- - task: rspec
661
- - task: minitest
662
-
663
- ##
664
- # NOTE: Dev only command.
665
- #
666
- tmuxinator:start:
667
- cmds:
668
- - tmuxinator start convenient_service --project-config=.dev/.tmuxinator.yml
669
-
670
- yard_junk:
671
- cmds:
672
- - mkdir -p docs
673
- ##
674
- # NOTE: yard supports plugins as gems only.
675
- # - https://rubydoc.info/gems/yard/file/docs/GettingStarted.md#plugin-support
676
- #
677
- # NOTE: `RUBYLIB` is used to extend Ruby's `$LOAD_PATH`. This way yard treats `./yard` folder as a directory with custom gems.
678
- #
679
- - RUBYLIB=./yard bundle exec yard-junk --text --html docs/junk-yard.html
@@ -1,18 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "bundler/setup"
4
- require "convenient_service"
5
- require "benchmark/ips"
6
-
7
- class Service
8
- include ConvenientService::Standard::Config
9
- end
10
-
11
- Service.commit_config! # Warmup.
12
-
13
- Benchmark.ips do |x|
14
- x.time = 10 # Seconds.
15
- x.warmup = 0 # No additional warmup required. It is already performed outside.
16
-
17
- x.report("`.commit_config?`") { Service.commit_config! }
18
- end