convenient_service 0.26.0 → 0.27.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 (128) hide show
  1. checksums.yaml +4 -4
  2. data/lib/convenient_service/aliases.rb +0 -11
  3. data/lib/convenient_service/common/plugins/assigns_attributes_in_constructor/using_active_model_attribute_assignment/concern.rb +1 -1
  4. data/lib/convenient_service/common/plugins/assigns_attributes_in_constructor/using_dry_initializer/concern.rb +1 -1
  5. data/lib/convenient_service/common/plugins/caches_constructor_arguments/concern.rb +1 -1
  6. data/lib/convenient_service/common/plugins/can_be_copied/concern.rb +1 -1
  7. data/lib/convenient_service/common/plugins/can_have_callbacks/concern.rb +1 -1
  8. data/lib/convenient_service/common/plugins/can_have_callbacks/entities/type/concern.rb +1 -1
  9. data/lib/convenient_service/common/plugins/can_have_not_passed_arguments/concern.rb +1 -1
  10. data/lib/convenient_service/common/plugins/can_utilize_finite_loop/concern.rb +1 -1
  11. data/lib/convenient_service/common/plugins/has_attributes/using_active_model_attributes/concern.rb +1 -1
  12. data/lib/convenient_service/common/plugins/has_constructor/concern.rb +1 -1
  13. data/lib/convenient_service/common/plugins/has_constructor_without_initialize/concern.rb +1 -1
  14. data/lib/convenient_service/common/plugins/has_instance_proxy/concern.rb +1 -1
  15. data/lib/convenient_service/common/plugins/has_internals/concern.rb +1 -1
  16. data/lib/convenient_service/common/plugins/has_internals/entities/internals/concern.rb +1 -1
  17. data/lib/convenient_service/common/plugins/has_internals/entities/internals/plugins/has_cache/concern.rb +1 -1
  18. data/lib/convenient_service/common/plugins/has_j_send_result_duck_short_syntax/concern.rb +1 -1
  19. data/lib/convenient_service/common/plugins/has_memoization/using_memo_wise/concern.rb +1 -1
  20. data/lib/convenient_service/config/entities/option.rb +11 -9
  21. data/lib/convenient_service/config/entities/option_collection.rb +8 -4
  22. data/lib/convenient_service/core/aliases.rb +50 -0
  23. data/lib/convenient_service/core/entities/config/commands/build_entity_from_config_option.rb +63 -0
  24. data/lib/convenient_service/core/entities/config/commands.rb +1 -0
  25. data/lib/convenient_service/core/entities/config/entities/concerns/usual.rb +50 -0
  26. data/lib/convenient_service/core/entities/config/entities/concerns.rb +2 -0
  27. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middlewares/base/concern/class_methods.rb +9 -0
  28. data/lib/convenient_service/feature/plugins/can_have_entries/concern.rb +1 -1
  29. data/lib/convenient_service/feature/plugins/can_have_rspec_stubbed_entries/concern.rb +1 -1
  30. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/concern.rb +1 -1
  31. data/lib/convenient_service/feature/plugins/has_amazing_print_inspect/concern.rb +1 -1
  32. data/lib/convenient_service/feature/plugins/has_awesome_print_inspect/concern.rb +1 -1
  33. data/lib/convenient_service/feature/plugins/has_inspect/concern.rb +1 -1
  34. data/lib/convenient_service/service/configs/standard/v1.rb +2 -0
  35. data/lib/convenient_service/service/configs/standard.rb +11 -6
  36. data/lib/convenient_service/service/plugins/can_be_called/concern.rb +1 -1
  37. data/lib/convenient_service/service/plugins/can_have_connected_steps/concern.rb +1 -1
  38. data/lib/convenient_service/service/plugins/can_have_fallbacks/concern.rb +1 -1
  39. data/lib/convenient_service/service/plugins/can_have_handled_exceptions/concern.rb +1 -1
  40. data/lib/convenient_service/service/plugins/can_have_inline_services/concern.rb +1 -1
  41. data/lib/convenient_service/service/plugins/can_have_inline_services/entities/proxy.rb +5 -0
  42. data/lib/convenient_service/service/plugins/can_have_recalculations/concern.rb +1 -1
  43. data/lib/convenient_service/service/plugins/can_have_rspec_stubbed_results/concern.rb +1 -1
  44. data/lib/convenient_service/service/plugins/can_have_sequential_steps/concern.rb +1 -1
  45. data/lib/convenient_service/service/plugins/can_have_service_aware_enumerables/concern.rb +1 -10
  46. data/lib/convenient_service/service/plugins/can_have_steps/concern.rb +1 -1
  47. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/concern.rb +1 -1
  48. data/lib/convenient_service/service/plugins/can_have_steps/entities/service/concern.rb +1 -1
  49. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/cast_params.rb +0 -8
  50. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb +1 -2
  51. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb +0 -11
  52. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern.rb +1 -1
  53. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_evaluated/concern.rb +1 -1
  54. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_evaluated/middleware.rb +43 -0
  55. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_evaluated.rb +1 -0
  56. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/concern.rb +1 -1
  57. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_service_step/concern.rb +1 -1
  58. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_strict/concern.rb +35 -0
  59. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_strict/middleware.rb +40 -0
  60. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_strict.rb +9 -0
  61. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_used_in_service_aware_enumerables/concern.rb +1 -1
  62. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/concern.rb +1 -1
  63. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_amazing_print_inspect/concern.rb +1 -1
  64. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_awesome_print_inspect/concern.rb +1 -1
  65. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_inspect/concern.rb +1 -1
  66. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/concern.rb +1 -1
  67. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/middleware.rb +0 -2
  68. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins.rb +1 -0
  69. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/structs/params.rb +2 -2
  70. data/lib/convenient_service/service/plugins/can_have_stubbed_results/concern.rb +1 -1
  71. data/lib/convenient_service/service/plugins/can_not_be_inherited/concern.rb +1 -1
  72. data/lib/convenient_service/service/plugins/has_amazing_print_inspect/concern.rb +1 -1
  73. data/lib/convenient_service/service/plugins/has_awesome_print_inspect/concern.rb +1 -1
  74. data/lib/convenient_service/service/plugins/has_inspect/concern.rb +1 -1
  75. data/lib/convenient_service/service/plugins/has_j_send_result/concern.rb +1 -1
  76. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/concern.rb +1 -1
  77. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_called/concern.rb +1 -1
  78. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_exception/concern.rb +1 -1
  79. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_fallback/concern.rb +1 -1
  80. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_handled_exception/concern.rb +1 -1
  81. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_unhandled_exception/concern.rb +1 -1
  82. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_own_result/concern.rb +1 -1
  83. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_strict/concern.rb +1 -1
  84. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_stubbed_result/concern.rb +1 -1
  85. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_used_in_service_aware_enumerables/concern.rb +1 -1
  86. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/concern.rb +1 -1
  87. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_fallbacks/concern.rb +1 -1
  88. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_parent_result/concern.rb +1 -1
  89. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_step/concern.rb +1 -1
  90. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_amazing_print_inspect/concern.rb +1 -1
  91. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_awesome_print_inspect/concern.rb +1 -1
  92. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_inspect/concern.rb +1 -1
  93. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/concern.rb +1 -1
  94. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/concern.rb +1 -1
  95. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/plugins/has_amazing_print_inspect/concern.rb +1 -1
  96. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/plugins/has_awesome_print_inspect/concern.rb +1 -1
  97. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/code/plugins/has_inspect/concern.rb +1 -1
  98. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/concern.rb +1 -1
  99. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/plugins/has_amazing_print_inspect/concern.rb +1 -1
  100. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/plugins/has_awesome_print_inspect/concern.rb +1 -1
  101. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/data/plugins/has_inspect/concern.rb +1 -1
  102. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/concern.rb +1 -1
  103. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/plugins/has_amazing_print_inspect/concern.rb +1 -1
  104. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/plugins/has_awesome_print_inspect/concern.rb +1 -1
  105. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/message/plugins/has_inspect/concern.rb +1 -1
  106. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/concern.rb +1 -1
  107. 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 +1 -1
  108. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/has_amazing_print_inspect/concern.rb +1 -1
  109. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/has_awesome_print_inspect/concern.rb +1 -1
  110. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/entities/status/plugins/has_inspect/concern.rb +1 -1
  111. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result/concern.rb +1 -1
  112. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_pattern_matching_support/concern.rb +1 -1
  113. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/helps_to_learn_similarities_with_common_objects/concern.rb +1 -1
  114. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations/concern.rb +15 -3
  115. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations/middleware.rb +10 -2
  116. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations/no_op_concern.rb +116 -0
  117. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations.rb +1 -0
  118. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/concern.rb +19 -1
  119. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/middleware.rb +10 -2
  120. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/no_op_concern.rb +43 -0
  121. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation.rb +1 -0
  122. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/concern.rb +1 -1
  123. data/lib/convenient_service/service/plugins/has_j_send_result_status_check_short_syntax/concern.rb +1 -1
  124. data/lib/convenient_service/service/plugins/has_negated_j_send_result/concern.rb +1 -1
  125. data/lib/convenient_service/service/plugins/has_negated_result/concern.rb +1 -1
  126. data/lib/convenient_service/service/plugins/has_result/concern.rb +1 -1
  127. data/lib/convenient_service/version.rb +1 -1
  128. metadata +9 -1
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module CanHaveFallbacks
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module CanHaveParentResult
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module CanHaveStep
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module HasAmazingPrintInspect
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module HasAwesomePrintInspect
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module HasInspect
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -17,7 +17,7 @@ module ConvenientService
17
17
  module Plugins
18
18
  module HasJSendStatusAndAttributes
19
19
  module Concern
20
- include Support::Concern
20
+ include ::ConvenientService::Concern
21
21
 
22
22
  included do |result_class|
23
23
  result_class.include InstanceMethods
@@ -19,7 +19,7 @@ module ConvenientService
19
19
  module Entities
20
20
  class Code
21
21
  module Concern
22
- include Support::Concern
22
+ include ::ConvenientService::Concern
23
23
 
24
24
  included do |code_class|
25
25
  code_class.include Support::Castable
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAmazingPrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAwesomePrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -19,7 +19,7 @@ module ConvenientService
19
19
  module Entities
20
20
  class Data
21
21
  module Concern
22
- include Support::Concern
22
+ include ::ConvenientService::Concern
23
23
 
24
24
  included do |code_class|
25
25
  code_class.include Support::Castable
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAmazingPrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAwesomePrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -19,7 +19,7 @@ module ConvenientService
19
19
  module Entities
20
20
  class Message
21
21
  module Concern
22
- include Support::Concern
22
+ include ::ConvenientService::Concern
23
23
 
24
24
  included do |code_class|
25
25
  code_class.include Support::Castable
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAmazingPrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAwesomePrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -19,7 +19,7 @@ module ConvenientService
19
19
  module Entities
20
20
  class Status
21
21
  module Concern
22
- include Support::Concern
22
+ include ::ConvenientService::Concern
23
23
 
24
24
  included do |code_class|
25
25
  code_class.include Support::Castable
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module CanBeChecked
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAmazingPrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasAwesomePrintInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -18,7 +18,7 @@ module ConvenientService
18
18
  module Plugins
19
19
  module HasInspect
20
20
  module Concern
21
- include Support::Concern
21
+ include ::ConvenientService::Concern
22
22
 
23
23
  instance_methods do
24
24
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module HasNegatedResult
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module HasPatternMatchingSupport
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -16,7 +16,7 @@ module ConvenientService
16
16
  module Plugins
17
17
  module HelpsToLearnSimilaritiesWithCommonObjects
18
18
  module Concern
19
- include Support::Concern
19
+ include ::ConvenientService::Concern
20
20
 
21
21
  included do |result_class|
22
22
  result_class.include InstanceMethods
@@ -11,10 +11,22 @@ module ConvenientService
11
11
  module HasJSendResultParamsValidations
12
12
  module UsingActiveModelValidations
13
13
  module Concern
14
- include Support::Concern
14
+ include ::ConvenientService::Concern
15
15
 
16
- included do |service_class|
17
- service_class.include ::ActiveModel::Validations
16
+ class << self
17
+ ##
18
+ # @param skip_validations [Boolean]
19
+ # @return [Module]
20
+ #
21
+ def with(skip_validations: false)
22
+ return self unless skip_validations
23
+
24
+ Plugins::HasJSendResultParamsValidations::UsingActiveModelValidations::NoOpConcern
25
+ end
26
+ end
27
+
28
+ included do
29
+ include ::ActiveModel::Validations
18
30
  end
19
31
  end
20
32
  end
@@ -17,9 +17,10 @@ module ConvenientService
17
17
  # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result]
18
18
  #
19
19
  def next(...)
20
- return result_from_active_model_validations if active_model_validations_errors.any?
20
+ return chain.next(...) if skip_validations?
21
+ return chain.next(...) if active_model_validations_errors.none?
21
22
 
22
- chain.next(...)
23
+ result_from_active_model_validations
23
24
  end
24
25
 
25
26
  private
@@ -57,6 +58,13 @@ module ConvenientService
57
58
  def status
58
59
  middleware_arguments.kwargs.fetch(:status) { :error }
59
60
  end
61
+
62
+ ##
63
+ # @return [Boolean]
64
+ #
65
+ def skip_validations?
66
+ middleware_arguments.kwargs.fetch(:skip_validations) { false }
67
+ end
60
68
  end
61
69
  end
62
70
  end
@@ -0,0 +1,116 @@
1
+ # frozen_string_literal: true
2
+
3
+ ##
4
+ # @author Marian Kostyk <mariankostyk13895@gmail.com>
5
+ # @license LGPLv3 <https://www.gnu.org/licenses/lgpl-3.0.html>
6
+ ##
7
+
8
+ module ConvenientService
9
+ module Service
10
+ module Plugins
11
+ module HasJSendResultParamsValidations
12
+ module UsingActiveModelValidations
13
+ module NoOpConcern
14
+ include ::ConvenientService::Concern
15
+
16
+ class << self
17
+ ##
18
+ # @param skip_validations [Boolean]
19
+ # @return [Module]
20
+ #
21
+ def with(skip_validations: false)
22
+ return self if skip_validations
23
+
24
+ Plugins::HasJSendResultParamsValidations::UsingActiveModelValidations::Concern
25
+ end
26
+ end
27
+
28
+ class_methods do
29
+ ##
30
+ # @return [void]
31
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations/validates.rb#L111
32
+ #
33
+ def validates(*attributes)
34
+ end
35
+
36
+ ##
37
+ # @return [void]
38
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations/validates.rb#L153
39
+ #
40
+ def validates!(*attributes)
41
+ end
42
+
43
+ ##
44
+ # @return [void]
45
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L89
46
+ #
47
+ def validates_each(*attr_names, &block)
48
+ end
49
+
50
+ ##
51
+ # @return [void]
52
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L162
53
+ #
54
+ def validate(*args, &block)
55
+ end
56
+
57
+ ##
58
+ # @return [void]
59
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L206
60
+ #
61
+ def validators
62
+ end
63
+
64
+ ##
65
+ # @return [void]
66
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L268
67
+ #
68
+ def validators_on(*attributes)
69
+ end
70
+ end
71
+
72
+ instance_methods do
73
+ ##
74
+ # @return [Array]
75
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L330
76
+ #
77
+ def errors
78
+ @errors ||= []
79
+ end
80
+
81
+ ##
82
+ # @return [Boolean]
83
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L363
84
+ #
85
+ def valid?(context = nil)
86
+ true
87
+ end
88
+
89
+ ##
90
+ # @return [Boolean]
91
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L372
92
+ #
93
+ alias_method :validate, :valid?
94
+
95
+ ##
96
+ # @return [Boolean]
97
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L410
98
+ #
99
+ def invalid?(context = nil)
100
+ false
101
+ end
102
+
103
+ ##
104
+ # @return [Boolean]
105
+ # @see https://github.com/rails/rails/blob/v8.1.4/activemodel/lib/active_model/validations.rb#L419
106
+ #
107
+ def validate!(context = nil)
108
+ true
109
+ end
110
+ end
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+ end
@@ -6,4 +6,5 @@
6
6
  ##
7
7
 
8
8
  require_relative "using_active_model_validations/concern"
9
+ require_relative "using_active_model_validations/no_op_concern"
9
10
  require_relative "using_active_model_validations/middleware"
@@ -11,9 +11,27 @@ module ConvenientService
11
11
  module HasJSendResultParamsValidations
12
12
  module UsingDryValidation
13
13
  module Concern
14
- include Support::Concern
14
+ include ::ConvenientService::Concern
15
+
16
+ class << self
17
+ ##
18
+ # @param skip_validations [Boolean]
19
+ # @return [Module]
20
+ #
21
+ def with(skip_validations: false)
22
+ return self unless skip_validations
23
+
24
+ Plugins::HasJSendResultParamsValidations::UsingDryValidation::NoOpConcern
25
+ end
26
+ end
15
27
 
16
28
  class_methods do
29
+ ##
30
+ # @param block [Proc, nil]
31
+ # @return [Class<Dry::Validation::Contract>]
32
+ #
33
+ # @note `nil` is returned when `skip_validations` option detail is `true`.
34
+ #
17
35
  def contract(&block)
18
36
  (@contract ||= ::Class.new(::Dry::Validation::Contract))
19
37
  .tap { |contract| contract.class_exec(&block) if block }
@@ -21,9 +21,10 @@ module ConvenientService
21
21
  # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result]
22
22
  #
23
23
  def next(...)
24
- return result_from_dry_validation if dry_validation_errors.any?
24
+ return chain.next(...) if skip_validations?
25
+ return chain.next(...) if dry_validation_errors.none?
25
26
 
26
- chain.next(...)
27
+ result_from_dry_validation
27
28
  end
28
29
 
29
30
  private
@@ -74,6 +75,13 @@ module ConvenientService
74
75
  middleware_arguments.kwargs.fetch(:status) { :error }
75
76
  end
76
77
 
78
+ ##
79
+ # @return [Boolean]
80
+ #
81
+ def skip_validations?
82
+ middleware_arguments.kwargs.fetch(:skip_validations) { false }
83
+ end
84
+
77
85
  ##
78
86
  # @return [Hash{Symbol => Object}]
79
87
  #
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ ##
4
+ # @author Marian Kostyk <mariankostyk13895@gmail.com>
5
+ # @license LGPLv3 <https://www.gnu.org/licenses/lgpl-3.0.html>
6
+ ##
7
+
8
+ module ConvenientService
9
+ module Service
10
+ module Plugins
11
+ module HasJSendResultParamsValidations
12
+ module UsingDryValidation
13
+ module NoOpConcern
14
+ include ::ConvenientService::Concern
15
+
16
+ class << self
17
+ ##
18
+ # @param skip_validations [Boolean]
19
+ # @return [Module]
20
+ #
21
+ def with(skip_validations: false)
22
+ return self if skip_validations
23
+
24
+ Plugins::HasJSendResultParamsValidations::UsingDryValidation::Concern
25
+ end
26
+ end
27
+
28
+ class_methods do
29
+ ##
30
+ # @param block [Proc, nil]
31
+ # @return [nil]
32
+ #
33
+ # @note `Class<Dry::Validation::Contract>` is returned when `skip_validations` option detail is `false` or not used.
34
+ #
35
+ def contract(&block)
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
41
+ end
42
+ end
43
+ end
@@ -6,4 +6,5 @@
6
6
  ##
7
7
 
8
8
  require_relative "using_dry_validation/concern"
9
+ require_relative "using_dry_validation/no_op_concern"
9
10
  require_relative "using_dry_validation/middleware"
@@ -10,7 +10,7 @@ module ConvenientService
10
10
  module Plugins
11
11
  module HasJSendResultShortSyntax
12
12
  module Concern
13
- include Support::Concern
13
+ include ::ConvenientService::Concern
14
14
 
15
15
  class_methods do
16
16
  ##
@@ -10,7 +10,7 @@ module ConvenientService
10
10
  module Plugins
11
11
  module HasJSendResultStatusCheckShortSyntax
12
12
  module Concern
13
- include Support::Concern
13
+ include ::ConvenientService::Concern
14
14
 
15
15
  class_methods do
16
16
  ##
@@ -10,7 +10,7 @@ module ConvenientService
10
10
  module Plugins
11
11
  module HasNegatedJSendResult
12
12
  module Concern
13
- include Support::Concern
13
+ include ::ConvenientService::Concern
14
14
 
15
15
  instance_methods do
16
16
  ##
@@ -10,7 +10,7 @@ module ConvenientService
10
10
  module Plugins
11
11
  module HasNegatedResult
12
12
  module Concern
13
- include Support::Concern
13
+ include ::ConvenientService::Concern
14
14
 
15
15
  class_methods do
16
16
  ##
@@ -10,7 +10,7 @@ module ConvenientService
10
10
  module Plugins
11
11
  module HasResult
12
12
  module Concern
13
- include Support::Concern
13
+ include ::ConvenientService::Concern
14
14
 
15
15
  class_methods do
16
16
  ##
@@ -13,5 +13,5 @@ module ConvenientService
13
13
  # @since 1.0.0
14
14
  # @return [String]
15
15
  #
16
- VERSION = "0.26.0"
16
+ VERSION = "0.27.0"
17
17
  end