convenient_service 0.25.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 (133) 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/common/plugins/tries_to_convert_result_duck_to_result/middleware.rb +54 -0
  21. data/lib/convenient_service/common/plugins/tries_to_convert_result_duck_to_result.rb +8 -0
  22. data/lib/convenient_service/common/plugins.rb +1 -0
  23. data/lib/convenient_service/config/entities/option.rb +11 -9
  24. data/lib/convenient_service/config/entities/option_collection.rb +8 -4
  25. data/lib/convenient_service/core/aliases.rb +50 -0
  26. data/lib/convenient_service/core/entities/config/commands/build_entity_from_config_option.rb +63 -0
  27. data/lib/convenient_service/core/entities/config/commands.rb +1 -0
  28. data/lib/convenient_service/core/entities/config/entities/concerns/usual.rb +50 -0
  29. data/lib/convenient_service/core/entities/config/entities/concerns.rb +2 -0
  30. data/lib/convenient_service/core/entities/config/entities/method_middlewares/entities/middlewares/base/concern/class_methods.rb +9 -0
  31. data/lib/convenient_service/feature/plugins/can_have_entries/concern.rb +1 -1
  32. data/lib/convenient_service/feature/plugins/can_have_rspec_stubbed_entries/concern.rb +1 -1
  33. data/lib/convenient_service/feature/plugins/can_have_stubbed_entries/concern.rb +1 -1
  34. data/lib/convenient_service/feature/plugins/has_amazing_print_inspect/concern.rb +1 -1
  35. data/lib/convenient_service/feature/plugins/has_awesome_print_inspect/concern.rb +1 -1
  36. data/lib/convenient_service/feature/plugins/has_inspect/concern.rb +1 -1
  37. data/lib/convenient_service/service/configs/standard/v1.rb +2 -0
  38. data/lib/convenient_service/service/configs/standard.rb +21 -9
  39. data/lib/convenient_service/service/plugins/can_be_called/concern.rb +1 -1
  40. data/lib/convenient_service/service/plugins/can_have_connected_steps/concern.rb +1 -1
  41. data/lib/convenient_service/service/plugins/can_have_fallbacks/concern.rb +1 -1
  42. data/lib/convenient_service/service/plugins/can_have_handled_exceptions/concern.rb +1 -1
  43. data/lib/convenient_service/service/plugins/can_have_inline_services/concern.rb +1 -1
  44. data/lib/convenient_service/service/plugins/can_have_inline_services/entities/proxy.rb +5 -0
  45. data/lib/convenient_service/service/plugins/can_have_recalculations/concern.rb +1 -1
  46. data/lib/convenient_service/service/plugins/can_have_rspec_stubbed_results/concern.rb +1 -1
  47. data/lib/convenient_service/service/plugins/can_have_sequential_steps/concern.rb +1 -1
  48. data/lib/convenient_service/service/plugins/can_have_service_aware_enumerables/concern.rb +1 -10
  49. data/lib/convenient_service/service/plugins/can_have_steps/concern.rb +1 -1
  50. data/lib/convenient_service/service/plugins/can_have_steps/entities/method/concern.rb +1 -1
  51. data/lib/convenient_service/service/plugins/can_have_steps/entities/service/concern.rb +1 -1
  52. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/cast_params.rb +0 -8
  53. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/commands/extract_params.rb +1 -2
  54. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern/instance_methods.rb +0 -11
  55. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/concern.rb +1 -1
  56. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_evaluated/concern.rb +1 -1
  57. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_evaluated/middleware.rb +43 -0
  58. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_evaluated.rb +1 -0
  59. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_method_step/concern.rb +1 -1
  60. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_service_step/concern.rb +1 -1
  61. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_strict/concern.rb +35 -0
  62. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_strict/middleware.rb +40 -0
  63. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_strict.rb +9 -0
  64. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_be_used_in_service_aware_enumerables/concern.rb +1 -1
  65. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/can_have_fallbacks/concern.rb +1 -1
  66. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_amazing_print_inspect/concern.rb +1 -1
  67. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_awesome_print_inspect/concern.rb +1 -1
  68. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_inspect/concern.rb +1 -1
  69. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/concern.rb +1 -1
  70. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins/has_result/middleware.rb +0 -2
  71. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/plugins.rb +1 -0
  72. data/lib/convenient_service/service/plugins/can_have_steps/entities/step/structs/params.rb +2 -2
  73. data/lib/convenient_service/service/plugins/can_have_stubbed_results/concern.rb +1 -1
  74. data/lib/convenient_service/service/plugins/can_not_be_inherited/concern.rb +1 -1
  75. data/lib/convenient_service/service/plugins/has_amazing_print_inspect/concern.rb +1 -1
  76. data/lib/convenient_service/service/plugins/has_awesome_print_inspect/concern.rb +1 -1
  77. data/lib/convenient_service/service/plugins/has_inspect/concern.rb +1 -1
  78. data/lib/convenient_service/service/plugins/has_j_send_result/concern.rb +1 -1
  79. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/concern.rb +1 -1
  80. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_called/concern.rb +1 -1
  81. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_exception/concern.rb +1 -1
  82. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_fallback/concern.rb +1 -1
  83. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_handled_exception/concern.rb +6 -1
  84. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_from_unhandled_exception/concern.rb +1 -1
  85. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_own_result/concern.rb +1 -1
  86. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_strict/concern.rb +1 -1
  87. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_stubbed_result/concern.rb +1 -1
  88. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_be_used_in_service_aware_enumerables/concern.rb +1 -1
  89. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_checked_status/concern.rb +1 -1
  90. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_fallbacks/concern.rb +1 -1
  91. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_parent_result/concern.rb +1 -1
  92. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/can_have_step/concern.rb +1 -1
  93. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_amazing_print_inspect/concern.rb +1 -1
  94. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_awesome_print_inspect/concern.rb +1 -1
  95. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_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/concern/instance_methods.rb +7 -0
  97. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_j_send_status_and_attributes/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/code/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/code/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/code/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/code/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/data/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/data/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/data/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/data/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/message/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/message/plugins/has_amazing_print_inspect/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/message/plugins/has_awesome_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/message/plugins/has_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/concern.rb +1 -1
  111. 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
  112. 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
  113. 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
  114. 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
  115. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_negated_result/concern.rb +1 -1
  116. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/has_pattern_matching_support/concern.rb +1 -1
  117. data/lib/convenient_service/service/plugins/has_j_send_result/entities/result/plugins/helps_to_learn_similarities_with_common_objects/concern.rb +1 -1
  118. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations/concern.rb +15 -3
  119. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations/middleware.rb +10 -2
  120. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations/no_op_concern.rb +116 -0
  121. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_active_model_validations.rb +1 -0
  122. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/concern.rb +19 -1
  123. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/middleware.rb +10 -2
  124. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation/no_op_concern.rb +43 -0
  125. data/lib/convenient_service/service/plugins/has_j_send_result_params_validations/using_dry_validation.rb +1 -0
  126. data/lib/convenient_service/service/plugins/has_j_send_result_short_syntax/concern.rb +1 -1
  127. data/lib/convenient_service/service/plugins/has_j_send_result_status_check_short_syntax/concern.rb +1 -1
  128. data/lib/convenient_service/service/plugins/has_negated_j_send_result/concern.rb +1 -1
  129. data/lib/convenient_service/service/plugins/has_negated_result/concern.rb +1 -1
  130. data/lib/convenient_service/service/plugins/has_result/concern.rb +1 -1
  131. data/lib/convenient_service/service/plugins/raises_on_not_result_return_value/middleware.rb +7 -3
  132. data/lib/convenient_service/version.rb +1 -1
  133. metadata +12 -2
@@ -10,7 +10,7 @@ module ConvenientService
10
10
  module Plugins
11
11
  module HasInspect
12
12
  module Concern
13
- include Support::Concern
13
+ include ::ConvenientService::Concern
14
14
 
15
15
  instance_methods do
16
16
  ##
@@ -13,7 +13,7 @@ module ConvenientService
13
13
  module Plugins
14
14
  module HasJSendResult
15
15
  module Concern
16
- include Support::Concern
16
+ include ::ConvenientService::Concern
17
17
 
18
18
  included do |service_class|
19
19
  service_class.include InstanceMethods
@@ -16,7 +16,7 @@ module ConvenientService
16
16
  # @since 1.0.0
17
17
  #
18
18
  module Concern
19
- include Support::Concern
19
+ include ::ConvenientService::Concern
20
20
 
21
21
  instance_methods do
22
22
  ##
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module CanBeCalled
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 CanBeFromException
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 CanBeFromFallback
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 CanBeFromHandledException
16
16
  module Concern
17
- include Support::Concern
17
+ include ::ConvenientService::Concern
18
18
 
19
19
  instance_methods do
20
20
  ##
@@ -35,8 +35,13 @@ module ConvenientService
35
35
  extra_kwargs.dig(:exceptions, :handled)
36
36
  end
37
37
 
38
+ ##
39
+ # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result]
40
+ # @raise [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::CanBeFromHandledException::Exceptions::FromExceptionOnNotErrorResult]
41
+ #
38
42
  def from_exception(exception, **kwargs)
39
43
  ::ConvenientService.raise Exceptions::FromExceptionOnNotErrorResult.new(result: self) unless status.unsafe_error?
44
+
40
45
  data =
41
46
  if Service::Plugins::HasJSendResult.default_error_data == unsafe_data.to_h
42
47
  {handled_exception: exception}
@@ -14,7 +14,7 @@ module ConvenientService
14
14
  module Plugins
15
15
  module CanBeFromUnhandledException
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 CanBeOwnResult
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 CanBeStrict
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 CanBeStubbedResult
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 CanBeUsedInServiceAwareEnumerables
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 CanHaveCheckedStatus
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 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
  ##
@@ -103,6 +103,13 @@ module ConvenientService
103
103
  internals.cache[:jsend_attributes]
104
104
  end
105
105
 
106
+ ##
107
+ # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result]
108
+ #
109
+ def result
110
+ self
111
+ end
112
+
106
113
  ##
107
114
  # @param status [Symbol]
108
115
  # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result::Plugins::HasJSendStatusAndAttributes::Entities::Status]
@@ -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"