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.
- checksums.yaml +4 -4
- data/README.md +4 -4
- data/lib/convenient_service/common/plugins/ensures_negated_j_send_result/middleware.rb +22 -0
- data/lib/convenient_service/common/plugins/ensures_negated_j_send_result.rb +3 -0
- data/lib/convenient_service/common/plugins/has_around_callbacks/concern.rb +8 -1
- data/lib/convenient_service/common/plugins/has_around_callbacks/middleware.rb +28 -7
- data/lib/convenient_service/common/plugins/has_callbacks/concern.rb +19 -9
- data/lib/convenient_service/common/plugins/has_callbacks/entities/callback_collection.rb +49 -1
- data/lib/convenient_service/common/plugins/has_callbacks/middleware.rb +21 -3
- data/lib/convenient_service/common/plugins/has_callbacks.rb +0 -1
- data/lib/convenient_service/common/plugins/has_instance_proxy/entities/instance_proxy.rb +1 -1
- data/lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/has_cache/concern.rb +12 -0
- data/lib/convenient_service/common/plugins.rb +1 -0
- data/lib/convenient_service/core/entities/config/exceptions.rb +2 -0
- data/lib/convenient_service/core/entities/config.rb +3 -0
- data/lib/convenient_service/dependencies.rb +11 -3
- data/lib/convenient_service/logger.rb +9 -1
- data/lib/convenient_service/rspec/matchers/classes/call_chain_next.rb +41 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/commands/generate_printable_method.rb +46 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/delegation.rb +89 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/inputs.rb +223 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/outputs.rb +38 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matcher_collection.rb +157 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments/commands/apply_stub_to_track_delegations.rb +77 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments/commands/generate_printable_arguments.rb +94 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/arguments.rb +89 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/base.rb +99 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/return_custom_value.rb +91 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/return_delegation_value.rb +129 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/with_any_arguments.rb +31 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/with_concrete_arguments.rb +31 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers/without_arguments.rb +31 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/sub_matchers.rb +11 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities.rb +5 -1
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/exceptions.rb +65 -0
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to.rb +163 -41
- data/lib/convenient_service/service/configs/minimal.rb +85 -33
- data/lib/convenient_service/service/configs/standard/v1.rb +42 -24
- data/lib/convenient_service/service/configs/standard.rb +60 -46
- data/lib/convenient_service/service/plugins/can_have_connected_steps/concern.rb +503 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/and.rb +133 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/base.rb +126 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/empty.rb +104 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/group.rb +118 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/not.rb +118 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/or.rb +145 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions/scalar.rb +133 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/expressions.rb +10 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities/step_collection.rb +217 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/entities.rb +4 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/exceptions.rb +95 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps/middleware.rb +30 -0
- data/lib/convenient_service/service/plugins/can_have_connected_steps.rb +6 -0
- data/lib/convenient_service/service/plugins/can_have_sequential_steps/concern.rb +76 -0
- data/lib/convenient_service/service/plugins/{can_have_steps → can_have_sequential_steps}/entities/step_collection.rb +54 -10
- data/lib/convenient_service/service/plugins/can_have_sequential_steps/entities.rb +3 -0
- data/lib/convenient_service/service/plugins/{can_have_steps → can_have_sequential_steps}/middleware.rb +7 -3
- data/lib/convenient_service/service/plugins/can_have_sequential_steps.rb +5 -0
- data/lib/convenient_service/service/plugins/can_have_steps/concern.rb +4 -57
- data/lib/convenient_service/service/plugins/can_have_steps/entities/method/commands/define_method_in_container.rb +45 -26
- data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment.rb +0 -2
- data/lib/convenient_service/service/plugins/can_have_steps/entities/method/exceptions.rb +4 -24
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb +155 -80
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/exceptions.rb +19 -0
- 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
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/can_be_executed/middleware.rb +64 -4
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/can_be_executed.rb +1 -0
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/concern.rb +7 -0
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_alternative_steps.rb +3 -0
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/concern.rb +0 -46
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/middleware.rb +26 -2
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_parent_result/middleware.rb +13 -1
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/{can_be_result_step → has_result}/concern.rb +8 -4
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/middleware.rb +33 -0
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result.rb +4 -0
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins.rb +2 -1
- data/lib/convenient_service/service/plugins/can_have_steps/entities.rb +0 -1
- data/lib/convenient_service/service/plugins/can_have_steps.rb +0 -1
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/concern.rb +2 -2
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status.rb +0 -1
- 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
- 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
- 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
- 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
- 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
- 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
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/exceptions.rb +15 -0
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result/concern.rb +72 -0
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result.rb +3 -0
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/raises_on_not_checked_result_status/middleware.rb +1 -1
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins.rb +1 -0
- data/lib/convenient_service/service/plugins/has_j_send_result.rb +0 -1
- data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/middleware.rb +4 -0
- data/lib/convenient_service/service/plugins/has_negated_j_send_result/concern.rb +23 -0
- data/lib/convenient_service/service/plugins/has_negated_j_send_result.rb +3 -0
- data/lib/convenient_service/service/plugins/has_negated_result/concern.rb +33 -0
- data/lib/convenient_service/service/plugins/{has_j_send_result → has_negated_result}/exceptions.rb +3 -3
- data/lib/convenient_service/service/plugins/has_negated_result.rb +4 -0
- data/lib/convenient_service/service/plugins/{wraps_result_in_db_transaction → wraps_result_in_d_b_transaction}/middleware.rb +1 -1
- data/lib/convenient_service/service/plugins.rb +7 -2
- data/lib/convenient_service/specification.rb +28 -0
- data/lib/convenient_service/support/backtrace_cleaner.rb +6 -1
- data/lib/convenient_service/support/cache/entities/caches/base.rb +3 -0
- data/lib/convenient_service/support/method_parameters.rb +121 -0
- data/lib/convenient_service/support/never_reach_here.rb +21 -0
- data/lib/convenient_service/support/unique_value.rb +3 -0
- data/lib/convenient_service/support/value.rb +78 -0
- data/lib/convenient_service/support.rb +3 -0
- data/lib/convenient_service/utils/array/find_last.rb +8 -3
- data/lib/convenient_service/utils/object/instance_variable_delete.rb +1 -1
- data/lib/convenient_service/version.rb +1 -1
- data/lib/convenient_service.rb +23 -0
- metadata +109 -308
- data/.dev/.tmuxinator.yml +0 -22
- data/.dockerignore +0 -1
- data/.gem_release.yml +0 -11
- data/.github/contributing.md +0 -15
- data/.github/issue_template.md +0 -35
- data/.github/pull_request_template.md +0 -31
- data/.github/workflows/cd.yml +0 -68
- data/.github/workflows/ci.yml +0 -212
- data/.gitignore +0 -66
- data/.inch.yml +0 -7
- data/.rspec +0 -3
- data/.rubocop.yml +0 -45
- data/.rubocop_rspec.yml +0 -58
- data/.ruby-version +0 -1
- data/.tool-versions +0 -1
- data/.vscode/CacheItsValue.code-snippets +0 -15
- data/.vscode/DelegateTo.code-snippets +0 -15
- data/.vscode/cache_its_value.code-snippets +0 -17
- data/.vscode/comparison.code-snippets +0 -41
- data/.vscode/delegate_to.code-snippets +0 -20
- data/.yardopts +0 -16
- data/Appraisals +0 -146
- data/CHANGELOG.md +0 -504
- data/Gemfile +0 -17
- data/ROADMAP.md +0 -92
- data/Rakefile +0 -54
- data/Taskfile.yml +0 -679
- data/benchmark/commit_config/ips.rb +0 -18
- data/benchmark/commit_config/profile.rb +0 -30
- data/benchmark/empty_service/ips.rb +0 -123
- data/benchmark/has_committed_config/ips.rb +0 -78
- data/benchmark/has_committed_config/profile.rb +0 -30
- data/convenient_service.gemspec +0 -233
- data/coverage/.gitkeep +0 -0
- data/docker/2.7/Dockerfile +0 -73
- data/docker/3.0/Dockerfile +0 -73
- data/docker/3.1/Dockerfile +0 -73
- data/docker/3.2/Dockerfile +0 -73
- data/docker/jruby-9.4/Dockerfile +0 -88
- data/docker/truffleruby-22.3/Dockerfile +0 -91
- data/docs/.gitkeep +0 -0
- data/docs/api/.gitkeep +0 -0
- data/env.rb +0 -23
- data/gemfiles/.gitkeep +0 -0
- data/lib/convenient_service/common/plugins/has_callbacks/container.rb +0 -17
- data/lib/convenient_service/examples/dry/gemfile/dry_service/config.rb +0 -45
- data/lib/convenient_service/examples/dry/gemfile/dry_service.rb +0 -3
- data/lib/convenient_service/examples/dry/gemfile/services/assert_file_exists.rb +0 -29
- data/lib/convenient_service/examples/dry/gemfile/services/assert_file_not_empty.rb +0 -29
- data/lib/convenient_service/examples/dry/gemfile/services/assert_node_available.rb +0 -26
- data/lib/convenient_service/examples/dry/gemfile/services/assert_npm_package_available.rb +0 -39
- data/lib/convenient_service/examples/dry/gemfile/services/assert_valid_ruby_syntax.rb +0 -41
- data/lib/convenient_service/examples/dry/gemfile/services/format.rb +0 -37
- data/lib/convenient_service/examples/dry/gemfile/services/format_body.rb +0 -93
- data/lib/convenient_service/examples/dry/gemfile/services/format_gems_with_envs.rb +0 -96
- data/lib/convenient_service/examples/dry/gemfile/services/format_gems_without_envs.rb +0 -84
- data/lib/convenient_service/examples/dry/gemfile/services/format_header.rb +0 -74
- data/lib/convenient_service/examples/dry/gemfile/services/parse_content.rb +0 -93
- data/lib/convenient_service/examples/dry/gemfile/services/print_shell_command.rb +0 -44
- data/lib/convenient_service/examples/dry/gemfile/services/read_file_content.rb +0 -31
- data/lib/convenient_service/examples/dry/gemfile/services/run_shell_command.rb +0 -45
- data/lib/convenient_service/examples/dry/gemfile/services/strip_comments.rb +0 -109
- data/lib/convenient_service/examples/dry/gemfile/services.rb +0 -18
- data/lib/convenient_service/examples/dry/gemfile.rb +0 -27
- data/lib/convenient_service/examples/dry/v1/gemfile/dry_service/config.rb +0 -47
- data/lib/convenient_service/examples/dry/v1/gemfile/dry_service.rb +0 -3
- data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_file_exists.rb +0 -31
- data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_file_not_empty.rb +0 -31
- data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_node_available.rb +0 -28
- data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_npm_package_available.rb +0 -41
- data/lib/convenient_service/examples/dry/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -43
- data/lib/convenient_service/examples/dry/v1/gemfile/services/format.rb +0 -39
- data/lib/convenient_service/examples/dry/v1/gemfile/services/format_body.rb +0 -95
- data/lib/convenient_service/examples/dry/v1/gemfile/services/format_gems_with_envs.rb +0 -98
- data/lib/convenient_service/examples/dry/v1/gemfile/services/format_gems_without_envs.rb +0 -86
- data/lib/convenient_service/examples/dry/v1/gemfile/services/format_header.rb +0 -76
- data/lib/convenient_service/examples/dry/v1/gemfile/services/parse_content.rb +0 -95
- data/lib/convenient_service/examples/dry/v1/gemfile/services/read_file_content.rb +0 -33
- data/lib/convenient_service/examples/dry/v1/gemfile/services/run_shell_command.rb +0 -43
- data/lib/convenient_service/examples/dry/v1/gemfile/services/strip_comments.rb +0 -111
- data/lib/convenient_service/examples/dry/v1/gemfile/services.rb +0 -17
- data/lib/convenient_service/examples/dry/v1/gemfile.rb +0 -29
- data/lib/convenient_service/examples/rails/gemfile/rails_service/config.rb +0 -56
- data/lib/convenient_service/examples/rails/gemfile/rails_service.rb +0 -3
- data/lib/convenient_service/examples/rails/gemfile/services/assert_file_exists.rb +0 -25
- data/lib/convenient_service/examples/rails/gemfile/services/assert_file_not_empty.rb +0 -25
- data/lib/convenient_service/examples/rails/gemfile/services/assert_node_available.rb +0 -26
- data/lib/convenient_service/examples/rails/gemfile/services/assert_npm_package_available.rb +0 -35
- data/lib/convenient_service/examples/rails/gemfile/services/assert_valid_ruby_syntax.rb +0 -35
- data/lib/convenient_service/examples/rails/gemfile/services/format.rb +0 -66
- data/lib/convenient_service/examples/rails/gemfile/services/format_body.rb +0 -79
- data/lib/convenient_service/examples/rails/gemfile/services/format_gems_with_envs.rb +0 -82
- data/lib/convenient_service/examples/rails/gemfile/services/format_gems_without_envs.rb +0 -70
- data/lib/convenient_service/examples/rails/gemfile/services/format_header.rb +0 -68
- data/lib/convenient_service/examples/rails/gemfile/services/merge_sections.rb +0 -25
- data/lib/convenient_service/examples/rails/gemfile/services/parse_content.rb +0 -89
- data/lib/convenient_service/examples/rails/gemfile/services/print_shell_command.rb +0 -40
- data/lib/convenient_service/examples/rails/gemfile/services/read_file_content.rb +0 -27
- data/lib/convenient_service/examples/rails/gemfile/services/replace_file_content.rb +0 -37
- data/lib/convenient_service/examples/rails/gemfile/services/run_shell_command.rb +0 -40
- data/lib/convenient_service/examples/rails/gemfile/services/strip_comments.rb +0 -107
- data/lib/convenient_service/examples/rails/gemfile/services.rb +0 -21
- data/lib/convenient_service/examples/rails/gemfile.rb +0 -27
- data/lib/convenient_service/examples/rails/v1/gemfile/rails_service/config.rb +0 -58
- data/lib/convenient_service/examples/rails/v1/gemfile/rails_service.rb +0 -3
- data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_file_exists.rb +0 -27
- data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_file_not_empty.rb +0 -27
- data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_node_available.rb +0 -28
- data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_npm_package_available.rb +0 -37
- data/lib/convenient_service/examples/rails/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -37
- data/lib/convenient_service/examples/rails/v1/gemfile/services/format.rb +0 -68
- data/lib/convenient_service/examples/rails/v1/gemfile/services/format_body.rb +0 -81
- data/lib/convenient_service/examples/rails/v1/gemfile/services/format_gems_with_envs.rb +0 -84
- data/lib/convenient_service/examples/rails/v1/gemfile/services/format_gems_without_envs.rb +0 -72
- data/lib/convenient_service/examples/rails/v1/gemfile/services/format_header.rb +0 -70
- data/lib/convenient_service/examples/rails/v1/gemfile/services/merge_sections.rb +0 -27
- data/lib/convenient_service/examples/rails/v1/gemfile/services/parse_content.rb +0 -91
- data/lib/convenient_service/examples/rails/v1/gemfile/services/read_file_content.rb +0 -29
- data/lib/convenient_service/examples/rails/v1/gemfile/services/replace_file_content.rb +0 -39
- data/lib/convenient_service/examples/rails/v1/gemfile/services/run_shell_command.rb +0 -38
- data/lib/convenient_service/examples/rails/v1/gemfile/services/strip_comments.rb +0 -109
- data/lib/convenient_service/examples/rails/v1/gemfile/services.rb +0 -20
- data/lib/convenient_service/examples/rails/v1/gemfile.rb +0 -29
- data/lib/convenient_service/examples/standard/cowsay/services/build_cloud.rb +0 -42
- data/lib/convenient_service/examples/standard/cowsay/services/build_cow.rb +0 -38
- data/lib/convenient_service/examples/standard/cowsay/services/print.rb +0 -32
- data/lib/convenient_service/examples/standard/cowsay/services.rb +0 -5
- data/lib/convenient_service/examples/standard/cowsay.rb +0 -26
- data/lib/convenient_service/examples/standard/date_time/services/safe_parse.rb +0 -31
- data/lib/convenient_service/examples/standard/date_time/services.rb +0 -3
- data/lib/convenient_service/examples/standard/date_time.rb +0 -25
- data/lib/convenient_service/examples/standard/factorial/services/calculate.rb +0 -55
- data/lib/convenient_service/examples/standard/factorial/services.rb +0 -3
- data/lib/convenient_service/examples/standard/factorial/utils/timeout/with_timeout.rb +0 -50
- data/lib/convenient_service/examples/standard/factorial/utils/timeout.rb +0 -21
- data/lib/convenient_service/examples/standard/factorial/utils.rb +0 -3
- data/lib/convenient_service/examples/standard/factorial.rb +0 -26
- data/lib/convenient_service/examples/standard/gemfile/services/assert_file_exists.rb +0 -30
- data/lib/convenient_service/examples/standard/gemfile/services/assert_file_not_empty.rb +0 -30
- data/lib/convenient_service/examples/standard/gemfile/services/assert_node_available.rb +0 -26
- data/lib/convenient_service/examples/standard/gemfile/services/assert_npm_package_available.rb +0 -48
- data/lib/convenient_service/examples/standard/gemfile/services/assert_valid_ruby_syntax.rb +0 -39
- data/lib/convenient_service/examples/standard/gemfile/services/format.rb +0 -80
- data/lib/convenient_service/examples/standard/gemfile/services/format_body.rb +0 -83
- data/lib/convenient_service/examples/standard/gemfile/services/format_gems_with_envs.rb +0 -86
- data/lib/convenient_service/examples/standard/gemfile/services/format_gems_without_envs.rb +0 -74
- data/lib/convenient_service/examples/standard/gemfile/services/format_header.rb +0 -66
- data/lib/convenient_service/examples/standard/gemfile/services/merge_sections.rb +0 -52
- data/lib/convenient_service/examples/standard/gemfile/services/parse_content.rb +0 -101
- data/lib/convenient_service/examples/standard/gemfile/services/print_shell_command.rb +0 -45
- data/lib/convenient_service/examples/standard/gemfile/services/read_file_content.rb +0 -39
- data/lib/convenient_service/examples/standard/gemfile/services/replace_file_content.rb +0 -48
- data/lib/convenient_service/examples/standard/gemfile/services/run_shell_command.rb +0 -54
- data/lib/convenient_service/examples/standard/gemfile/services/strip_comments.rb +0 -111
- data/lib/convenient_service/examples/standard/gemfile/services.rb +0 -21
- data/lib/convenient_service/examples/standard/gemfile.rb +0 -26
- data/lib/convenient_service/examples/standard/request_params/constants.rb +0 -15
- data/lib/convenient_service/examples/standard/request_params/entities/description.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/entities/format.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/entities/id.rb +0 -47
- data/lib/convenient_service/examples/standard/request_params/entities/logger.rb +0 -21
- data/lib/convenient_service/examples/standard/request_params/entities/request.rb +0 -23
- data/lib/convenient_service/examples/standard/request_params/entities/source.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/entities/tag.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/entities/title.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/entities.rb +0 -11
- data/lib/convenient_service/examples/standard/request_params/services/apply_default_param_values.rb +0 -26
- data/lib/convenient_service/examples/standard/request_params/services/cast_params.rb +0 -38
- data/lib/convenient_service/examples/standard/request_params/services/extract_params_from_body.rb +0 -70
- data/lib/convenient_service/examples/standard/request_params/services/extract_params_from_path.rb +0 -62
- data/lib/convenient_service/examples/standard/request_params/services/filter_out_unpermitted_params.rb +0 -26
- data/lib/convenient_service/examples/standard/request_params/services/log_request_params.rb +0 -54
- data/lib/convenient_service/examples/standard/request_params/services/merge_params.rb +0 -26
- data/lib/convenient_service/examples/standard/request_params/services/prepare.rb +0 -65
- data/lib/convenient_service/examples/standard/request_params/services/validate_casted_params.rb +0 -94
- data/lib/convenient_service/examples/standard/request_params/services/validate_uncasted_params.rb +0 -72
- data/lib/convenient_service/examples/standard/request_params/services.rb +0 -13
- data/lib/convenient_service/examples/standard/request_params/utils/array/wrap.rb +0 -46
- data/lib/convenient_service/examples/standard/request_params/utils/array.rb +0 -21
- data/lib/convenient_service/examples/standard/request_params/utils/http/request/parse_body.rb +0 -42
- data/lib/convenient_service/examples/standard/request_params/utils/http/request/parse_path.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/utils/http/request.rb +0 -28
- data/lib/convenient_service/examples/standard/request_params/utils/http.rb +0 -3
- data/lib/convenient_service/examples/standard/request_params/utils/integer/safe_parse.rb +0 -31
- data/lib/convenient_service/examples/standard/request_params/utils/integer.rb +0 -25
- data/lib/convenient_service/examples/standard/request_params/utils/json/safe_parse.rb +0 -40
- data/lib/convenient_service/examples/standard/request_params/utils/json.rb +0 -21
- data/lib/convenient_service/examples/standard/request_params/utils/object/blank.rb +0 -34
- data/lib/convenient_service/examples/standard/request_params/utils/object/present.rb +0 -31
- data/lib/convenient_service/examples/standard/request_params/utils/object.rb +0 -26
- data/lib/convenient_service/examples/standard/request_params/utils/url/valid.rb +0 -47
- data/lib/convenient_service/examples/standard/request_params/utils/url.rb +0 -21
- data/lib/convenient_service/examples/standard/request_params/utils.rb +0 -8
- data/lib/convenient_service/examples/standard/request_params.rb +0 -49
- data/lib/convenient_service/examples/standard/v1/cowsay/services/build_cloud.rb +0 -44
- data/lib/convenient_service/examples/standard/v1/cowsay/services/build_cow.rb +0 -40
- data/lib/convenient_service/examples/standard/v1/cowsay/services/print.rb +0 -34
- data/lib/convenient_service/examples/standard/v1/cowsay/services.rb +0 -5
- data/lib/convenient_service/examples/standard/v1/cowsay.rb +0 -26
- data/lib/convenient_service/examples/standard/v1/date_time/services/safe_parse.rb +0 -33
- data/lib/convenient_service/examples/standard/v1/date_time/services.rb +0 -3
- data/lib/convenient_service/examples/standard/v1/date_time.rb +0 -25
- data/lib/convenient_service/examples/standard/v1/factorial/services/calculate.rb +0 -51
- data/lib/convenient_service/examples/standard/v1/factorial/services.rb +0 -3
- data/lib/convenient_service/examples/standard/v1/factorial/utils/timeout/with_timeout.rb +0 -52
- data/lib/convenient_service/examples/standard/v1/factorial/utils/timeout.rb +0 -23
- data/lib/convenient_service/examples/standard/v1/factorial/utils.rb +0 -3
- data/lib/convenient_service/examples/standard/v1/factorial.rb +0 -26
- data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_file_exists.rb +0 -32
- data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_file_not_empty.rb +0 -32
- data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_node_available.rb +0 -28
- data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_npm_package_available.rb +0 -50
- data/lib/convenient_service/examples/standard/v1/gemfile/services/assert_valid_ruby_syntax.rb +0 -41
- data/lib/convenient_service/examples/standard/v1/gemfile/services/format.rb +0 -82
- data/lib/convenient_service/examples/standard/v1/gemfile/services/format_body.rb +0 -85
- data/lib/convenient_service/examples/standard/v1/gemfile/services/format_gems_with_envs.rb +0 -88
- data/lib/convenient_service/examples/standard/v1/gemfile/services/format_gems_without_envs.rb +0 -76
- data/lib/convenient_service/examples/standard/v1/gemfile/services/format_header.rb +0 -68
- data/lib/convenient_service/examples/standard/v1/gemfile/services/merge_sections.rb +0 -54
- data/lib/convenient_service/examples/standard/v1/gemfile/services/parse_content.rb +0 -103
- data/lib/convenient_service/examples/standard/v1/gemfile/services/read_file_content.rb +0 -41
- data/lib/convenient_service/examples/standard/v1/gemfile/services/replace_file_content.rb +0 -50
- data/lib/convenient_service/examples/standard/v1/gemfile/services/run_shell_command.rb +0 -52
- data/lib/convenient_service/examples/standard/v1/gemfile/services/strip_comments.rb +0 -113
- data/lib/convenient_service/examples/standard/v1/gemfile/services.rb +0 -20
- data/lib/convenient_service/examples/standard/v1/gemfile.rb +0 -26
- data/lib/convenient_service/examples/standard/v1/request_params/constants.rb +0 -17
- data/lib/convenient_service/examples/standard/v1/request_params/entities/description.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/entities/format.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/entities/id.rb +0 -49
- data/lib/convenient_service/examples/standard/v1/request_params/entities/logger.rb +0 -23
- data/lib/convenient_service/examples/standard/v1/request_params/entities/request.rb +0 -25
- data/lib/convenient_service/examples/standard/v1/request_params/entities/source.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/entities/tag.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/entities/title.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/entities.rb +0 -11
- data/lib/convenient_service/examples/standard/v1/request_params/services/apply_default_param_values.rb +0 -28
- data/lib/convenient_service/examples/standard/v1/request_params/services/cast_params.rb +0 -40
- data/lib/convenient_service/examples/standard/v1/request_params/services/extract_params_from_body.rb +0 -72
- data/lib/convenient_service/examples/standard/v1/request_params/services/extract_params_from_path.rb +0 -64
- data/lib/convenient_service/examples/standard/v1/request_params/services/filter_out_unpermitted_params.rb +0 -28
- data/lib/convenient_service/examples/standard/v1/request_params/services/log_request_params.rb +0 -56
- data/lib/convenient_service/examples/standard/v1/request_params/services/merge_params.rb +0 -28
- data/lib/convenient_service/examples/standard/v1/request_params/services/prepare.rb +0 -67
- data/lib/convenient_service/examples/standard/v1/request_params/services/validate_casted_params.rb +0 -96
- data/lib/convenient_service/examples/standard/v1/request_params/services/validate_uncasted_params.rb +0 -74
- data/lib/convenient_service/examples/standard/v1/request_params/services.rb +0 -13
- data/lib/convenient_service/examples/standard/v1/request_params/utils/array/wrap.rb +0 -48
- data/lib/convenient_service/examples/standard/v1/request_params/utils/array.rb +0 -23
- data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request/parse_body.rb +0 -44
- data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request/parse_path.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/utils/http/request.rb +0 -30
- data/lib/convenient_service/examples/standard/v1/request_params/utils/http.rb +0 -3
- data/lib/convenient_service/examples/standard/v1/request_params/utils/integer/safe_parse.rb +0 -33
- data/lib/convenient_service/examples/standard/v1/request_params/utils/integer.rb +0 -27
- data/lib/convenient_service/examples/standard/v1/request_params/utils/json/safe_parse.rb +0 -42
- data/lib/convenient_service/examples/standard/v1/request_params/utils/json.rb +0 -23
- data/lib/convenient_service/examples/standard/v1/request_params/utils/object/blank.rb +0 -36
- data/lib/convenient_service/examples/standard/v1/request_params/utils/object/present.rb +0 -33
- data/lib/convenient_service/examples/standard/v1/request_params/utils/object.rb +0 -28
- data/lib/convenient_service/examples/standard/v1/request_params/utils/url/valid.rb +0 -49
- data/lib/convenient_service/examples/standard/v1/request_params/utils/url.rb +0 -23
- data/lib/convenient_service/examples/standard/v1/request_params/utils.rb +0 -8
- data/lib/convenient_service/examples/standard/v1/request_params.rb +0 -49
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/commands/generate_printable_method.rb +0 -50
- 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
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments/commands/generate_printable_arguments.rb +0 -100
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/arguments.rb +0 -95
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/base.rb +0 -87
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/return_its_value.rb +0 -132
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/with_any_arguments.rb +0 -37
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/with_concrete_arguments.rb +0 -37
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/sub_matchers/without_arguments.rb +0 -37
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/base.rb +0 -41
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/with_calling_original.rb +0 -30
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings/values/without_calling_original.rb +0 -30
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings.rb +0 -12
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings_collection/exceptions.rb +0 -57
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/chainings_collection.rb +0 -171
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities/delegation.rb +0 -79
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher/entities.rb +0 -5
- data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/matcher.rb +0 -276
- data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands/define_method_in_container.rb +0 -74
- data/lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/reassignment/commands.rb +0 -3
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step/can_be_executed/middleware.rb +0 -72
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step/can_be_executed.rb +0 -4
- data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_result_step.rb +0 -5
- data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/middleware.rb +0 -43
- data/logo.png +0 -0
- data/minitest.rb +0 -30
- data/yard/yard-convenient_service_concern.rb +0 -45
- /data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/{entities/matcher/commands.rb → commands.rb} +0 -0
- /data/lib/convenient_service/rspec/primitive_matchers/classes/delegate_to/entities/{matcher/entities/chainings/sub_matchers → sub_matchers}/arguments/commands.rb +0 -0
data/.dev/.tmuxinator.yml
DELETED
@@ -1,22 +0,0 @@
|
|
1
|
-
##
|
2
|
-
# NOTE: Tmuxinator config options.
|
3
|
-
# - https://github.com/tmuxinator/tmuxinator#create-a-project
|
4
|
-
#
|
5
|
-
name: convenient_service
|
6
|
-
root: .
|
7
|
-
|
8
|
-
on_project_start:
|
9
|
-
- task editor:open
|
10
|
-
- task docker:start
|
11
|
-
- task github:open
|
12
|
-
|
13
|
-
windows:
|
14
|
-
- main:
|
15
|
-
layout: even-vertical
|
16
|
-
root: .
|
17
|
-
panes:
|
18
|
-
- task docker:bash:ruby_2.7
|
19
|
-
- task docker:bash:ruby_3.0
|
20
|
-
- task docker:bash:jruby_9.4
|
21
|
-
- task docker:bash:truffleruby_22.3
|
22
|
-
- git status
|
data/.dockerignore
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
Gemfile.lock
|
data/.gem_release.yml
DELETED
data/.github/contributing.md
DELETED
@@ -1,15 +0,0 @@
|
|
1
|
-
# Contributing
|
2
|
-
|
3
|
-
## Legal
|
4
|
-
|
5
|
-
By submitting a Pull Request, you disavow any rights or claims to any changes
|
6
|
-
submitted to the Convenient Service project and assign the copyright of
|
7
|
-
those changes to Convenient Service Organization.
|
8
|
-
|
9
|
-
If you cannot or do not want to reassign those rights (your employment
|
10
|
-
contract for your employer may not allow this), you should not submit a PR.
|
11
|
-
Open an issue and someone else can do the work.
|
12
|
-
|
13
|
-
This is a legal way of saying "If you submit a PR to us, that code becomes ours".
|
14
|
-
99.9% of the time that's what you intend anyways; we hope it doesn't scare you
|
15
|
-
away from contributing.
|
data/.github/issue_template.md
DELETED
@@ -1,35 +0,0 @@
|
|
1
|
-
## What is the issue?
|
2
|
-
<!--- Briefly describe the problem -->
|
3
|
-
|
4
|
-
-
|
5
|
-
|
6
|
-
## When it happens? How to reproduce it?
|
7
|
-
<!--- Tell us how to reproduce the problem. You can write a step-by-step guide, for example -->
|
8
|
-
|
9
|
-
-
|
10
|
-
|
11
|
-
## Where it happens?
|
12
|
-
<!--- Point to the file/loc which causes inconsistent behaviour -->
|
13
|
-
|
14
|
-
-
|
15
|
-
|
16
|
-
## How big is the damage from it?
|
17
|
-
|
18
|
-
-
|
19
|
-
|
20
|
-
## Why it happens?
|
21
|
-
|
22
|
-
-
|
23
|
-
|
24
|
-
## What can be done to resolve it?
|
25
|
-
|
26
|
-
-
|
27
|
-
|
28
|
-
## What is the complexity of a possible fix?
|
29
|
-
|
30
|
-
-
|
31
|
-
|
32
|
-
## Notes
|
33
|
-
<!--- Additional info, links, screenshots, actually anything that helps to recreate the way of thoughts (optional). -->
|
34
|
-
|
35
|
-
-
|
@@ -1,31 +0,0 @@
|
|
1
|
-
## What was done as a part of this PR?
|
2
|
-
<!--- Describe your changes -->
|
3
|
-
|
4
|
-
-
|
5
|
-
|
6
|
-
## Why it was done?
|
7
|
-
<!--- Why is this change required? Does it improve something? What problem does it solve? -->
|
8
|
-
<!--- If it fixes an open issue, please link to the issue here. -->
|
9
|
-
|
10
|
-
-
|
11
|
-
|
12
|
-
## How it was done?
|
13
|
-
<!--- Useful when a solution is not obvious (seems too extraordinary or too heavy) for a team you work with (optional). -->
|
14
|
-
|
15
|
-
-
|
16
|
-
|
17
|
-
## How to test?
|
18
|
-
|
19
|
-
- `task rspec -- corresponding_spec.rb`
|
20
|
-
- [Development: Local Development#tests](https://github.com/marian13/convenient_service/wiki/Development:-Local-Development#tests).
|
21
|
-
|
22
|
-
## Notes
|
23
|
-
<!--- Additional info, links, screenshots, actually anything that helps to recreate the way of thoughts (optional). -->
|
24
|
-
|
25
|
-
-
|
26
|
-
|
27
|
-
## Checklist:
|
28
|
-
|
29
|
-
- [ ] I have performed a self-review of my code.
|
30
|
-
- [ ] I have added/adjusted tests that prove my fix is effective or that my feature works.
|
31
|
-
- [ ] CI is green.
|
data/.github/workflows/cd.yml
DELETED
@@ -1,68 +0,0 @@
|
|
1
|
-
##
|
2
|
-
# CD using GitHub Actions.
|
3
|
-
#
|
4
|
-
# NOTE: GitHub Actions DSL.
|
5
|
-
# - https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions#understanding-the-workflow-file
|
6
|
-
# - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
7
|
-
#
|
8
|
-
# NOTE: Ruby workflow example.
|
9
|
-
# - https://github.com/ruby/setup-ruby#usage
|
10
|
-
#
|
11
|
-
# NOTE: How to set the working directory for the run directive (working-directory)?
|
12
|
-
# - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrunhttps://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
|
13
|
-
#
|
14
|
-
# NOTE: How to deploy to GitHub Pages using GitHub Actions?
|
15
|
-
# - https://github.com/marketplace/actions/github-pages-action
|
16
|
-
#
|
17
|
-
name: CD
|
18
|
-
|
19
|
-
on:
|
20
|
-
push:
|
21
|
-
branches:
|
22
|
-
- main
|
23
|
-
|
24
|
-
jobs:
|
25
|
-
deploy_api_docs:
|
26
|
-
runs-on: ubuntu-20.04
|
27
|
-
name: Deploy API Docs
|
28
|
-
steps:
|
29
|
-
- uses: actions/checkout@v2
|
30
|
-
- name: Set up Ruby
|
31
|
-
uses: ruby/setup-ruby@v1
|
32
|
-
with:
|
33
|
-
ruby-version: 3.2
|
34
|
-
##
|
35
|
-
# NOTE: Installs the latest compatible Bundler version, runs `bundle install` and caches installed gems.
|
36
|
-
# - https://github.com/ruby/setup-ruby#usage
|
37
|
-
# - https://github.com/ruby/setup-ruby#bundler
|
38
|
-
#
|
39
|
-
bundler-cache: true
|
40
|
-
##
|
41
|
-
# NOTE: Installs Task (task runner).
|
42
|
-
# - https://taskfile.dev/installation/#github-actions
|
43
|
-
# - https://github.com/go-task/task
|
44
|
-
#
|
45
|
-
- name: Install Task (task runner)
|
46
|
-
uses: arduino/setup-task@v1
|
47
|
-
- name: Generate docs
|
48
|
-
working-directory: ./
|
49
|
-
run: task docs:generate
|
50
|
-
- name: Deploy docs to GitHub Pages
|
51
|
-
uses: peaceiris/actions-gh-pages@v3
|
52
|
-
with:
|
53
|
-
github_token: ${{ secrets.GITHUB_TOKEN }}
|
54
|
-
publish_dir: ./docs/api
|
55
|
-
cname: apidocs.convenientservice.org
|
56
|
-
|
57
|
-
create_github_release:
|
58
|
-
runs-on: ubuntu-20.04
|
59
|
-
name: Create GitHub Release PR
|
60
|
-
steps:
|
61
|
-
- uses: google-github-actions/release-please-action@v3
|
62
|
-
with:
|
63
|
-
changelog-path: CHANGELOG.md
|
64
|
-
default-branch: main
|
65
|
-
include-v-in-tag: true
|
66
|
-
package-name: convenient_service
|
67
|
-
release-type: ruby
|
68
|
-
version-file: lib/convenient_service/version.rb
|
data/.github/workflows/ci.yml
DELETED
@@ -1,212 +0,0 @@
|
|
1
|
-
##
|
2
|
-
# CI using GitHub Actions.
|
3
|
-
#
|
4
|
-
# NOTE: GitHub Actions DSL.
|
5
|
-
# - https://docs.github.com/en/actions/learn-github-actions/understanding-github-actions#understanding-the-workflow-file
|
6
|
-
# - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions
|
7
|
-
#
|
8
|
-
# NOTE: Ruby workflow example.
|
9
|
-
# - https://github.com/ruby/setup-ruby#usage
|
10
|
-
#
|
11
|
-
# NOTE: Building and testing Ruby.
|
12
|
-
# - https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-ruby
|
13
|
-
#
|
14
|
-
# NOTE: More examples.
|
15
|
-
# - https://gist.github.com/geonizeli/57376c15f23feecdabf5ea213c3d7f41
|
16
|
-
# - https://docs.knapsackpro.com/2019/how-to-run-rspec-on-github-actions-for-ruby-on-rails-app-using-parallel-jobs
|
17
|
-
#
|
18
|
-
# NOTE: Sharing data between jobs and post-workflow artifacts.
|
19
|
-
# - https://docs.github.com/en/actions/learn-github-actions/essential-features-of-github-actions#sharing-data-between-jobs
|
20
|
-
# - https://github.com/actions/upload-artifact
|
21
|
-
# - https://github.com/actions/download-artifact
|
22
|
-
#
|
23
|
-
# NOTE: Virtual Environments.
|
24
|
-
# - https://github.com/actions/virtual-environments
|
25
|
-
#
|
26
|
-
# NOTE: How to collect and upload coverage reports for Coveralls?
|
27
|
-
# - https://github.com/marketplace/actions/coveralls-github-action#complete-parallel-job-example
|
28
|
-
# - https://github.com/coverallsapp/github-action/issues/29
|
29
|
-
# - https://github.com/coverallsapp/github-action/issues/29#issuecomment-704366557
|
30
|
-
#
|
31
|
-
# NOTE: What is the purpose of bundle-audit?
|
32
|
-
# - https://github.com/rubysec/bundler-audit
|
33
|
-
#
|
34
|
-
# IMPORTANT: This workflow is heavily based on Shopify/packwerk workflow.
|
35
|
-
# - https://github.com/Shopify/packwerk/blob/main/.github/workflows/ci.yml
|
36
|
-
# - https://github.com/Shopify/packwerk/actions/runs/331834549/workflow
|
37
|
-
#
|
38
|
-
name: CI
|
39
|
-
|
40
|
-
on:
|
41
|
-
pull_request:
|
42
|
-
branches:
|
43
|
-
- main
|
44
|
-
push:
|
45
|
-
branches:
|
46
|
-
- main
|
47
|
-
|
48
|
-
jobs:
|
49
|
-
lint:
|
50
|
-
##
|
51
|
-
# NOTE: If there are no memory, performance, or cost constraints, prefer to use as standard Linux distribution as it is possible.
|
52
|
-
# In a general case, you simply won't have enough time to resolve all the "quirks" of more specific distributions if you are an application developer.
|
53
|
-
# That is why the well-known Ubuntu is used.
|
54
|
-
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners
|
55
|
-
#
|
56
|
-
runs-on: ubuntu-20.04
|
57
|
-
name: Lint
|
58
|
-
steps:
|
59
|
-
- uses: actions/checkout@v2
|
60
|
-
- name: Set up Ruby
|
61
|
-
uses: ruby/setup-ruby@v1
|
62
|
-
with:
|
63
|
-
ruby-version: 3.2
|
64
|
-
##
|
65
|
-
# NOTE: Installs the latest compatible Bundler version, runs `bundle install` and caches installed gems.
|
66
|
-
# - https://github.com/ruby/setup-ruby#usage
|
67
|
-
# - https://github.com/ruby/setup-ruby#bundler
|
68
|
-
#
|
69
|
-
bundler-cache: true
|
70
|
-
##
|
71
|
-
# NOTE: Installs Task (task runner).
|
72
|
-
# https://taskfile.dev/installation/#github-actions
|
73
|
-
# https://github.com/go-task/task
|
74
|
-
#
|
75
|
-
- name: Install Task (task runner)
|
76
|
-
uses: arduino/setup-task@v1
|
77
|
-
- name: Run Rubocop
|
78
|
-
run: task rubocop
|
79
|
-
- name: Run Yard-Junk (docs linter)
|
80
|
-
run: task docs:lint
|
81
|
-
|
82
|
-
test:
|
83
|
-
needs:
|
84
|
-
- lint
|
85
|
-
##
|
86
|
-
# NOTE: If there are no memory, performance, or cost constraints, prefer to use as standard Linux distribution as it is possible.
|
87
|
-
# In a general case, you simply won't have enough time to resolve all the "quirks" of more specific distributions if you are an application developer.
|
88
|
-
# That is why the well-known Ubuntu is used.
|
89
|
-
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners
|
90
|
-
#
|
91
|
-
# NOTE: List of all possible Ruby, JRuby versions.
|
92
|
-
# https://github.com/ruby/setup-ruby/blob/master/ruby-builder-versions.json
|
93
|
-
#
|
94
|
-
runs-on: ubuntu-20.04
|
95
|
-
strategy:
|
96
|
-
matrix:
|
97
|
-
gemfile:
|
98
|
-
- Gemfile
|
99
|
-
ruby:
|
100
|
-
- 2.7
|
101
|
-
##
|
102
|
-
# NOTE: 3.0 is wrapped by quotes in order to avoid misparsing it as integer.
|
103
|
-
# https://github.com/actions/runner/issues/849
|
104
|
-
#
|
105
|
-
- "3.0"
|
106
|
-
- 3.1
|
107
|
-
- 3.2
|
108
|
-
##
|
109
|
-
# NOTE: JRuby 9.4 aims CRuby 3.1 compatibility.
|
110
|
-
# - https://www.jruby.org/download
|
111
|
-
#
|
112
|
-
- "jruby-9.4"
|
113
|
-
##
|
114
|
-
# NOTE: TruffleRuby 22.3 aims CRuby 3.1 compatibility.
|
115
|
-
# - https://www.jruby.org/download
|
116
|
-
#
|
117
|
-
# IMPORTANT: TruffleRuby 22.3 is currently disabled since too many specs are failing due to CRuby uncompatible code.
|
118
|
-
#
|
119
|
-
# NOTE: Use `task docker:bash:truffleruby_22.3` and then `task rspec` to reproduce them locally.
|
120
|
-
#
|
121
|
-
# TODO: Make ConvenientService TruffleRuby 22.3 compatible.
|
122
|
-
#
|
123
|
-
# - "truffleruby-22.3"
|
124
|
-
env:
|
125
|
-
BUNDLE_GEMFILE: ${{ matrix.gemfile }}
|
126
|
-
|
127
|
-
name: "Test Ruby `${{ matrix.ruby }}` with Gemfile `${{ matrix.gemfile }}`"
|
128
|
-
steps:
|
129
|
-
- uses: actions/checkout@v2
|
130
|
-
- name: "Set up Ruby `${{ matrix.ruby }}`"
|
131
|
-
uses: ruby/setup-ruby@v1
|
132
|
-
with:
|
133
|
-
ruby-version: ${{ matrix.ruby }}
|
134
|
-
##
|
135
|
-
# NOTE: Installs the latest compatible Bundler version, runs `bundle install` and caches installed gems.
|
136
|
-
# - https://github.com/ruby/setup-ruby#usage
|
137
|
-
# - https://github.com/ruby/setup-ruby#bundler
|
138
|
-
#
|
139
|
-
bundler-cache: true
|
140
|
-
##
|
141
|
-
# NOTE: Installs Task (task runner).
|
142
|
-
# - https://taskfile.dev/installation/#github-actions
|
143
|
-
# - https://github.com/go-task/task
|
144
|
-
#
|
145
|
-
- name: Install Task (task runner)
|
146
|
-
uses: arduino/setup-task@v1
|
147
|
-
- name: Run RSpec without appraisals
|
148
|
-
run: task rspec:standard
|
149
|
-
- name: Install dependencies for appraisals
|
150
|
-
run: task deps:install
|
151
|
-
- name: Run RSpec with Rails 7.0
|
152
|
-
run: task rspec:rails_7.0
|
153
|
-
- name: Run RSpec with Rails 6.1
|
154
|
-
run: task rspec:rails_6.1
|
155
|
-
- name: Run RSpec with Rails 6.0
|
156
|
-
run: task rspec:rails_6.0
|
157
|
-
- name: Run RSpec with Rails 5.2
|
158
|
-
run: task rspec:rails_5.2
|
159
|
-
- name: Run RSpec with Dry
|
160
|
-
run: task rspec:dry
|
161
|
-
- name: Run Minitest
|
162
|
-
run: task minitest
|
163
|
-
##
|
164
|
-
# NOTE: `lcov-result-merger` is written in JS.
|
165
|
-
#
|
166
|
-
- name: Set up Node.js 16.x
|
167
|
-
uses: actions/setup-node@v3
|
168
|
-
with:
|
169
|
-
node-version: 16.x
|
170
|
-
##
|
171
|
-
# NOTE: `lcov-result-merger` docs.
|
172
|
-
# - https://github.com/mweibel/lcov-result-merger
|
173
|
-
#
|
174
|
-
# NOTE: `npx --yes` option.
|
175
|
-
# - https://stackoverflow.com/questions/70742968/automatically-accept-installing-npx-package
|
176
|
-
#
|
177
|
-
# NOTE: `lcov-result-merger` uses `vinyl-fs` for globs which in turn uses `node-glob`.
|
178
|
-
# - https://github.com/mweibel/lcov-result-merger/blob/v3.3.0/bin/lcov-result-merger.js#L38
|
179
|
-
# - https://github.com/gulpjs/vinyl-fs#srcglobs-options
|
180
|
-
# - https://github.com/isaacs/node-glob#glob-primer
|
181
|
-
#
|
182
|
-
# NOTE: Append `&& cat coverage/lcov.info` to debug.
|
183
|
-
#
|
184
|
-
# IMPORTANT: 'coverage/**/lcov.info' single quotes are mandatory.
|
185
|
-
#
|
186
|
-
- name: Merge coverage reports into single file
|
187
|
-
run: task coverage:lcov:merge
|
188
|
-
- name: Configure coverage reports for Coveralls
|
189
|
-
uses: coverallsapp/github-action@master
|
190
|
-
with:
|
191
|
-
github-token: ${{ secrets.github_token }}
|
192
|
-
flag-name: run-${{ matrix.ruby }}-${{ matrix.gemfile }}
|
193
|
-
parallel: true
|
194
|
-
path-to-lcov: "./coverage/lcov.info"
|
195
|
-
|
196
|
-
coverage:
|
197
|
-
needs:
|
198
|
-
- test
|
199
|
-
##
|
200
|
-
# NOTE: If there are no memory, performance, or cost constraints, prefer to use as standard Linux distribution as it is possible.
|
201
|
-
# In a general case, you simply won't have enough time to resolve all the "quirks" of more specific distributions if you are an application developer.
|
202
|
-
# That is why the well-known Ubuntu is used.
|
203
|
-
# - https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#choosing-github-hosted-runners
|
204
|
-
#
|
205
|
-
runs-on: ubuntu-20.04
|
206
|
-
name: Gather coverage
|
207
|
-
steps:
|
208
|
-
- name: Upload coverage reports to Coveralls
|
209
|
-
uses: coverallsapp/github-action@master
|
210
|
-
with:
|
211
|
-
github-token: ${{ secrets.github_token }}
|
212
|
-
parallel-finished: true
|
data/.gitignore
DELETED
@@ -1,66 +0,0 @@
|
|
1
|
-
/.bundle/
|
2
|
-
/.yardoc
|
3
|
-
/_yardoc/
|
4
|
-
|
5
|
-
##
|
6
|
-
# NOTE: Ignores `coverage` content, but NOT the folder.
|
7
|
-
#
|
8
|
-
/coverage/*
|
9
|
-
!/coverage/.gitkeep
|
10
|
-
|
11
|
-
/doc/
|
12
|
-
/pkg/
|
13
|
-
/spec/reports/
|
14
|
-
/tmp/
|
15
|
-
|
16
|
-
# rspec failure tracking
|
17
|
-
/.rspec_status
|
18
|
-
|
19
|
-
# Hide `byebug` history
|
20
|
-
/.byebug_history
|
21
|
-
|
22
|
-
# Ignore `Gemfile.lock`
|
23
|
-
/Gemfile.lock
|
24
|
-
|
25
|
-
##
|
26
|
-
# NOTE: Ignores `Gemfile` amd `Gemfile.lock` used in docker containers.
|
27
|
-
#
|
28
|
-
# NOTE: `Gemfile*` matches all files that start with Gemfile in any nesting.
|
29
|
-
# NOTE: `/Gemfile*` matches all files that start with Gemfile only from root folder.
|
30
|
-
#
|
31
|
-
/Gemfile*
|
32
|
-
|
33
|
-
##
|
34
|
-
# NOTE: Ignores `gemfiles` content, but NOT the folder.
|
35
|
-
# NOTE: `gemfiles` folder is generated by Appraisal.
|
36
|
-
#
|
37
|
-
/gemfiles/*
|
38
|
-
!/gemfiles/.gitkeep
|
39
|
-
|
40
|
-
##
|
41
|
-
# NOTE: Ignores `.DS_Store` in any nesting.
|
42
|
-
#
|
43
|
-
.DS_Store
|
44
|
-
|
45
|
-
##
|
46
|
-
# NOTE: Ignores `docs` content, but NOT the folder.
|
47
|
-
#
|
48
|
-
/docs/*
|
49
|
-
!/docs/.gitkeep
|
50
|
-
|
51
|
-
##
|
52
|
-
# NOTE: Ignores `docs/api` content, but NOT the folder.
|
53
|
-
#
|
54
|
-
/docs/api/*
|
55
|
-
!/docs/api/.gitkeep
|
56
|
-
|
57
|
-
##
|
58
|
-
# NOTE: Ignores `flowchart.html`, that can be generated by `Service.mermaid_flowchart.save`.
|
59
|
-
# Check `HasMermaidFlowchart` for details.
|
60
|
-
#
|
61
|
-
flowchart.html
|
62
|
-
|
63
|
-
##
|
64
|
-
# NOTE: Ignores `TODO.md`. Usually, this file is used for notes that are NOT ready to be shared with the outside world.
|
65
|
-
#
|
66
|
-
TODO.md
|
data/.inch.yml
DELETED
data/.rspec
DELETED
data/.rubocop.yml
DELETED
@@ -1,45 +0,0 @@
|
|
1
|
-
inherit_from:
|
2
|
-
- .rubocop_rspec.yml
|
3
|
-
|
4
|
-
##
|
5
|
-
# Standard based Rubocop config.
|
6
|
-
# - https://github.com/testdouble/standard
|
7
|
-
# - https://github.com/testdouble/standard#usage-via-rubocop
|
8
|
-
# - https://evilmartians.com/chronicles/rubocoping-with-legacy-bring-your-ruby-code-up-to-standard
|
9
|
-
#
|
10
|
-
require:
|
11
|
-
##
|
12
|
-
# Rubocop for RSpec files.
|
13
|
-
# https://github.com/rubocop/rubocop-rspec#usage
|
14
|
-
#
|
15
|
-
- rubocop-rspec
|
16
|
-
##
|
17
|
-
# NOTE: `rubocop-performance` is automatically bundled with Standard.
|
18
|
-
#
|
19
|
-
- rubocop-performance
|
20
|
-
##
|
21
|
-
# NOTE: Custom Standard cop that should be loaded before `config/base.yml`.
|
22
|
-
#
|
23
|
-
- standard/cop/block_single_line_braces
|
24
|
-
|
25
|
-
inherit_gem:
|
26
|
-
standard: config/base.yml
|
27
|
-
|
28
|
-
AllCops:
|
29
|
-
##
|
30
|
-
# https://github.com/testdouble/standard#how-do-i-specify-a-ruby-version-what-is-supported
|
31
|
-
#
|
32
|
-
TargetRubyVersion: 2.7
|
33
|
-
|
34
|
-
Exclude:
|
35
|
-
##
|
36
|
-
# NOTE: Excludes vendor from linting. Needed by GitHub Actions.
|
37
|
-
# - https://github.com/rubocop/rubocop/issues/9832
|
38
|
-
# - https://github.com/rubocop/rubocop/issues/9832#issuecomment-873398952
|
39
|
-
#
|
40
|
-
- vendor/**/*
|
41
|
-
|
42
|
-
##
|
43
|
-
# NOTE: Excludes dependencies from linting.
|
44
|
-
#
|
45
|
-
- lib/convenient_service/dependencies/**/*
|
data/.rubocop_rspec.yml
DELETED
@@ -1,58 +0,0 @@
|
|
1
|
-
##
|
2
|
-
# Standard based Rubocop config suggested by Evil Martians.
|
3
|
-
# - https://evilmartians.com/chronicles/rubocoping-with-legacy-bring-your-ruby-code-up-to-standard
|
4
|
-
# - https://github.com/testdouble/standard
|
5
|
-
#
|
6
|
-
# Copied without any modifications from:
|
7
|
-
# https://gist.github.com/palkan/623c0816b05ed246bfe0cb406050990a
|
8
|
-
#
|
9
|
-
require:
|
10
|
-
- rubocop-rspec
|
11
|
-
|
12
|
-
RSpec/Focus:
|
13
|
-
Enabled: true
|
14
|
-
|
15
|
-
RSpec/EmptyExampleGroup:
|
16
|
-
Enabled: true
|
17
|
-
|
18
|
-
RSpec/EmptyLineAfterExampleGroup:
|
19
|
-
Enabled: true
|
20
|
-
|
21
|
-
RSpec/EmptyLineAfterFinalLet:
|
22
|
-
Enabled: true
|
23
|
-
|
24
|
-
RSpec/EmptyLineAfterHook:
|
25
|
-
Enabled: true
|
26
|
-
|
27
|
-
RSpec/EmptyLineAfterSubject:
|
28
|
-
Enabled: true
|
29
|
-
|
30
|
-
RSpec/HookArgument:
|
31
|
-
Enabled: true
|
32
|
-
|
33
|
-
RSpec/HooksBeforeExamples:
|
34
|
-
Enabled: true
|
35
|
-
|
36
|
-
RSpec/ImplicitExpect:
|
37
|
-
Enabled: true
|
38
|
-
|
39
|
-
RSpec/IteratedExpectation:
|
40
|
-
Enabled: true
|
41
|
-
|
42
|
-
RSpec/LetBeforeExamples:
|
43
|
-
Enabled: true
|
44
|
-
|
45
|
-
RSpec/MissingExampleGroupArgument:
|
46
|
-
Enabled: true
|
47
|
-
|
48
|
-
RSpec/ReceiveCounts:
|
49
|
-
Enabled: true
|
50
|
-
|
51
|
-
RSpec/Capybara/CurrentPathExpectation:
|
52
|
-
Enabled: true
|
53
|
-
|
54
|
-
RSpec/FactoryBot/AttributeDefinedStatically:
|
55
|
-
Enabled: true
|
56
|
-
|
57
|
-
RSpec/FactoryBot/CreateList:
|
58
|
-
Enabled: true
|
data/.ruby-version
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
3.2.0
|
data/.tool-versions
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ruby 3.2.0
|
@@ -1,15 +0,0 @@
|
|
1
|
-
{
|
2
|
-
////
|
3
|
-
// NOTE: `.code-snippets` files support only C-style comments.
|
4
|
-
// NOTE: More information about VS Code Snippets can be found here:
|
5
|
-
// - https://code.visualstudio.com/docs/editor/userdefinedsnippets
|
6
|
-
//
|
7
|
-
"CacheItsValue RSpec module": {
|
8
|
-
"scope": "ruby",
|
9
|
-
"prefix": "CacheItsValue",
|
10
|
-
"body": [
|
11
|
-
"include ConvenientService::RSpec::PrimitiveMatchers::CacheItsValue",
|
12
|
-
],
|
13
|
-
"description": "`CacheItsValue` - a module that allows to use custom RSpec matcher `cache_its_value` to verify caching"
|
14
|
-
}
|
15
|
-
}
|
@@ -1,15 +0,0 @@
|
|
1
|
-
{
|
2
|
-
////
|
3
|
-
// NOTE: `.code-snippets` files support only C-style comments.
|
4
|
-
// NOTE: More information about VS Code Snippets can be found here:
|
5
|
-
// - https://code.visualstudio.com/docs/editor/userdefinedsnippets
|
6
|
-
//
|
7
|
-
"DelegateTo RSpec module": {
|
8
|
-
"scope": "ruby",
|
9
|
-
"prefix": "DelegateTo",
|
10
|
-
"body": [
|
11
|
-
"include ConvenientService::RSpec::Matchers::DelegateTo",
|
12
|
-
],
|
13
|
-
"description": "`DelegateTo` - a module that allows to use custom RSpec matcher `delegate_to` to verify delegations"
|
14
|
-
}
|
15
|
-
}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
{
|
2
|
-
////
|
3
|
-
// NOTE: `.code-snippets` files support only C-style comments.
|
4
|
-
// NOTE: More information about VS Code Snippets can be found here:
|
5
|
-
// - https://code.visualstudio.com/docs/editor/userdefinedsnippets
|
6
|
-
//
|
7
|
-
"cache_its_value RSpec matcher": {
|
8
|
-
"scope": "ruby",
|
9
|
-
"prefix": "cache_its_value",
|
10
|
-
"body": [
|
11
|
-
"specify do",
|
12
|
-
" expect { $1 }.to cache_its_value",
|
13
|
-
"end"
|
14
|
-
],
|
15
|
-
"description": "`cache_its_value` - a custom RSpec matcher to verify caching"
|
16
|
-
}
|
17
|
-
}
|
@@ -1,41 +0,0 @@
|
|
1
|
-
{
|
2
|
-
////
|
3
|
-
// NOTE: `.code-snippets` files support only C-style comments.
|
4
|
-
// NOTE: More information about VS Code Snippets can be found here:
|
5
|
-
// - https://code.visualstudio.com/docs/editor/userdefinedsnippets
|
6
|
-
//
|
7
|
-
"comparison RSpec example group": {
|
8
|
-
"scope": "ruby",
|
9
|
-
"prefix": "comparison",
|
10
|
-
"body": [
|
11
|
-
"example_group \"comparison\" do",
|
12
|
-
" describe \"#==\" do",
|
13
|
-
" context \"when `other` have different class\" do",
|
14
|
-
" let(:other) { 42 }",
|
15
|
-
"",
|
16
|
-
" it \"returns `nil`\" do",
|
17
|
-
" expect(${1:entity} == other).to be_nil",
|
18
|
-
" end",
|
19
|
-
" end",
|
20
|
-
"",
|
21
|
-
" context \"when `other` have different ${2:attribute}\" do",
|
22
|
-
" let(:other) { described_class.new(${2:attribute}: other_${2:attribute}) }",
|
23
|
-
"",
|
24
|
-
" it \"returns `false`\" do",
|
25
|
-
" expect(${1:entity} == other).to eq(false)",
|
26
|
-
" end",
|
27
|
-
" end",
|
28
|
-
"",
|
29
|
-
" context \"when `other` has same attributes\" do",
|
30
|
-
" let(:other) { described_class.new }",
|
31
|
-
"",
|
32
|
-
" it \"returns `true`\" do",
|
33
|
-
" expect(${1:entity} == other).to eq(true)",
|
34
|
-
" end",
|
35
|
-
" end",
|
36
|
-
" end",
|
37
|
-
"end",
|
38
|
-
],
|
39
|
-
"description": "`comparison` - an example group for RSpec to verify `#==`, `#===`, `#equal?`, `#eql?` methods"
|
40
|
-
}
|
41
|
-
}
|