lib/convenient_service/configs/standard.rb in convenient_service-0.12.0 vs lib/convenient_service/configs/standard.rb in convenient_service-0.13.0
- old
+ new
@@ -19,91 +19,115 @@
# rubocop:disable Lint/ConstantDefinitionInBlock
included do
include Configs::Minimal
concerns do
- use Plugins::Common::CachesConstructorParams::Concern
+ use Plugins::Common::CachesConstructorArguments::Concern
use Plugins::Common::CanBeCopied::Concern
use Plugins::Service::CanRecalculateResult::Concern
- use Plugins::Service::HasResultShortSyntax::Concern
- use Plugins::Service::HasResultStatusCheckShortSyntax::Concern
+ use Plugins::Service::HasJSendResultShortSyntax::Concern
+ use Plugins::Service::HasJSendResultStatusCheckShortSyntax::Concern
use Plugins::Common::HasCallbacks::Concern
use Plugins::Common::HasAroundCallbacks::Concern
+
+ use Plugins::Service::CanHaveFallback::Concern
+ use Plugins::Service::HasMermaidFlowchart::Concern
end
middlewares :initialize do
- use Plugins::Common::CachesConstructorParams::Middleware
+ use Plugins::Service::CollectsServicesInException::Middleware
+ use Plugins::Common::CachesConstructorArguments::Middleware
end
middlewares :result do
+ insert_after \
+ Plugins::Common::NormalizesEnv::Middleware,
+ Plugins::Service::CollectsServicesInException::Middleware
+
insert_before \
- Plugins::Service::HasResult::Middleware,
+ Plugins::Service::RaisesOnNotResultReturnValue::Middleware,
Plugins::Common::HasCallbacks::Middleware
insert_after \
Plugins::Common::HasCallbacks::Middleware,
Plugins::Common::HasAroundCallbacks::Middleware
- use Plugins::Service::RaisesOnDoubleResult::Middleware
+ ##
+ # TODO: Rewrite. This plugin does NOT do what it states. Probably I was NOT with a clear mind while writing it (facepalm).
+ #
+ # use Plugins::Service::RaisesOnDoubleResult::Middleware
+ insert_before \
+ Plugins::Service::RaisesOnNotResultReturnValue::Middleware,
+ Plugins::Service::SetsParentToForeignResult::Middleware
+ end
+
+ ##
+ # @internal
+ # NOTE: Check `Minimal` docs to understand why `use Plugins::Common::NormalizesEnv::Middleware` for `:fallback_result` is used in `Standard`, not in `Minimal` config.
+ #
+ middlewares :fallback_result do
+ use Plugins::Common::NormalizesEnv::Middleware
+ use Plugins::Service::CollectsServicesInException::Middleware
use Plugins::Common::CachesReturnValue::Middleware
+
+ use Plugins::Service::RaisesOnNotResultReturnValue::Middleware
+ use Plugins::Service::CanHaveFallback::Middleware
end
middlewares :step do
use Plugins::Common::HasCallbacks::Middleware
use Plugins::Common::HasAroundCallbacks::Middleware
end
middlewares :success do
- use Plugins::Service::HasResultShortSyntax::Success::Middleware
+ use Plugins::Service::HasJSendResultShortSyntax::Success::Middleware
end
middlewares :failure do
- use Plugins::Service::HasResultShortSyntax::Failure::Middleware
+ use Plugins::Service::HasJSendResultShortSyntax::Failure::Middleware
end
middlewares :error do
- use Plugins::Service::HasResultShortSyntax::Error::Middleware
+ use Plugins::Service::HasJSendResultShortSyntax::Error::Middleware
end
class self::Result
concerns do
- use Plugins::Result::HasResultShortSyntax::Concern
+ use Plugins::Common::HasJSendResultDuckShortSyntax::Concern
use Plugins::Result::CanRecalculateResult::Concern
- use Plugins::Result::HasStep::Concern
+ use Plugins::Result::CanHaveStep::Concern
+ use Plugins::Result::CanBeOwnResult::Concern
+ use Plugins::Result::CanHaveFallback::Concern
use Plugins::Result::CanHaveParentResult::Concern
+ use Plugins::Result::CanHaveCheckedStatus::Concern
end
- middlewares :initialize do
- use Plugins::Result::HasStep::Initialize::Middleware
- use Plugins::Result::CanHaveParentResult::Initialize::Middleware
- end
-
middlewares :success? do
- use Plugins::Result::MarksResultStatusAsChecked::Middleware
+ use Plugins::Result::CanHaveCheckedStatus::Middleware
end
middlewares :failure? do
- use Plugins::Result::MarksResultStatusAsChecked::Middleware
+ use Plugins::Result::CanHaveCheckedStatus::Middleware
end
middlewares :error? do
- use Plugins::Result::MarksResultStatusAsChecked::Middleware
+ use Plugins::Result::CanHaveCheckedStatus::Middleware
end
middlewares :not_success? do
- use Plugins::Result::MarksResultStatusAsChecked::Middleware
+ use Plugins::Result::CanHaveCheckedStatus::Middleware
end
middlewares :not_failure? do
- use Plugins::Result::MarksResultStatusAsChecked::Middleware
+ use Plugins::Result::CanHaveCheckedStatus::Middleware
end
middlewares :not_error? do
- use Plugins::Result::MarksResultStatusAsChecked::Middleware
+ use Plugins::Result::CanHaveCheckedStatus::Middleware
end
middlewares :data do
use Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
end
@@ -113,31 +137,69 @@
end
middlewares :code do
use Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
end
-
- middlewares :to_kwargs do
- use Plugins::Result::HasStep::ToKwargs::Middleware
- use Plugins::Result::CanHaveParentResult::ToKwargs::Middleware
- end
end
class self::Step
- middlewares :calculate_result do
+ concerns do
+ use Plugins::Common::HasJSendResultDuckShortSyntax::Concern
+ use Plugins::Step::CanHaveFallback::Concern
+ end
+
+ middlewares :result do
+ use Plugins::Step::CanHaveFallback::Middleware
use Plugins::Step::CanHaveParentResult::Middleware
end
+
+ middlewares :service_fallback_result do
+ use Plugins::Common::NormalizesEnv::Middleware
+ use Plugins::Common::CachesReturnValue::Middleware
+ end
+
+ middlewares :fallback_result do
+ use Plugins::Common::NormalizesEnv::Middleware
+ use Plugins::Common::CachesReturnValue::Middleware
+ end
end
if Dependencies.rspec.loaded?
concerns do
- insert_before 0, Plugins::Service::CanHaveStubbedResult::Concern
+ insert_before 0, Plugins::Service::CanHaveStubbedResults::Concern
end
+ middlewares :result do
+ insert_after \
+ Plugins::Common::NormalizesEnv::Middleware,
+ Plugins::Service::CanHaveStubbedResults::Middleware
+
+ insert_before \
+ Plugins::Service::CanHaveStubbedResults::Middleware,
+ Plugins::Service::CountsStubbedResultsInvocations::Middleware
+ end
+
middlewares :result, scope: :class do
insert_after \
Plugins::Common::NormalizesEnv::Middleware,
- Plugins::Service::CanHaveStubbedResult::Middleware
+ Plugins::Service::CanHaveStubbedResults::Middleware
+
+ insert_before \
+ Plugins::Service::CanHaveStubbedResults::Middleware,
+ Plugins::Service::CountsStubbedResultsInvocations::Middleware
+ end
+
+ class self::Result
+ concerns do
+ use Plugins::Result::CanBeStubbedResult::Concern
+ use Plugins::Result::HasStubbedResultInvocationsCounter::Concern
+ end
+
+ middlewares :initialize do
+ insert_before \
+ Plugins::Result::HasJSendStatusAndAttributes::Middleware,
+ Plugins::Result::HasStubbedResultInvocationsCounter::Middleware
+ end
end
end
end
# rubocop:enable Lint/ConstantDefinitionInBlock
end