lib/convenient_service/service/configs/standard.rb in convenient_service-0.17.0 vs lib/convenient_service/service/configs/standard.rb in convenient_service-0.18.0
- old
+ new
@@ -32,11 +32,10 @@
use ConvenientService::Plugins::Service::HasJSendResultStatusCheckShortSyntax::Concern
use ConvenientService::Plugins::Common::HasCallbacks::Concern
use ConvenientService::Plugins::Common::HasAroundCallbacks::Concern
- use ConvenientService::Plugins::Service::CanHaveFallbacks::Concern
use ConvenientService::Plugins::Service::HasMermaidFlowchart::Concern
end
middlewares :initialize do
use ConvenientService::Plugins::Service::CollectsServicesInException::Middleware
@@ -90,10 +89,32 @@
use ConvenientService::Plugins::Service::RaisesOnNotResultReturnValue::Middleware
use ConvenientService::Plugins::Service::CanHaveFallbacks::Middleware.with(status: :error)
end
+ ##
+ # @internal
+ # NOTE: Check `Minimal` docs to understand why `use ConvenientService::Plugins::Common::NormalizesEnv::Middleware` for `:negated_result` is used in `Standard`, not in `Minimal` config.
+ #
+ middlewares :negated_result do
+ use ConvenientService::Plugins::Common::NormalizesEnv::Middleware
+ use ConvenientService::Plugins::Service::CollectsServicesInException::Middleware
+ use ConvenientService::Plugins::Common::CachesReturnValue::Middleware
+
+ use ConvenientService::Plugins::Common::EnsuresNegatedJSendResult::Middleware
+ end
+
+ ##
+ # TODO:
+ # `after :step do |step|` is executed after step result is calculated.
+ # This completely makes sence and is useful for debugging for example.
+ #
+ # But `before :step do` is alos executed after step result is calculated.
+ # That confuses the end-users a lot.
+ # Probably a dedicated plugin is needed?
+ # Or to forbid `before :step do`?
+ #
middlewares :step do
use ConvenientService::Plugins::Common::HasCallbacks::Middleware
use ConvenientService::Plugins::Common::HasAroundCallbacks::Middleware
end
@@ -112,51 +133,63 @@
class self::Result
concerns do
use ConvenientService::Plugins::Common::HasJSendResultDuckShortSyntax::Concern
use ConvenientService::Plugins::Result::CanRecalculateResult::Concern
- use ConvenientService::Plugins::Result::CanHaveStep::Concern
+ use ConvenientService::Plugins::Result::HasNegatedResult::Concern
use ConvenientService::Plugins::Result::CanBeOwnResult::Concern
use ConvenientService::Plugins::Result::CanHaveFallbacks::Concern
use ConvenientService::Plugins::Result::CanHaveParentResult::Concern
use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Concern
end
- middlewares :success? do
- use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Middleware
+ middlewares :data do
+ use ConvenientService::Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
end
- middlewares :failure? do
- use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Middleware
+ middlewares :message do
+ use ConvenientService::Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
end
- middlewares :error? do
- use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Middleware
+ middlewares :code do
+ use ConvenientService::Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
end
- middlewares :not_success? do
- use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Middleware
- end
+ middlewares :negated_result do
+ use ConvenientService::Plugins::Common::NormalizesEnv::Middleware
- middlewares :not_failure? do
- use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Middleware
+ use ConvenientService::Plugins::Common::EnsuresNegatedJSendResult::Middleware
end
- middlewares :not_error? do
- use ConvenientService::Plugins::Result::CanHaveCheckedStatus::Middleware
- end
+ class self::Status
+ concerns do
+ use ConvenientService::Plugins::Status::CanBeChecked::Concern
+ end
- middlewares :data do
- use ConvenientService::Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
- end
+ middlewares :success? do
+ use ConvenientService::Plugins::Status::CanBeChecked::Middleware
+ end
- middlewares :message do
- use ConvenientService::Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
- end
+ middlewares :failure? do
+ use ConvenientService::Plugins::Status::CanBeChecked::Middleware
+ end
- middlewares :code do
- use ConvenientService::Plugins::Result::RaisesOnNotCheckedResultStatus::Middleware
+ middlewares :error? do
+ use ConvenientService::Plugins::Status::CanBeChecked::Middleware
+ end
+
+ middlewares :not_success? do
+ use ConvenientService::Plugins::Status::CanBeChecked::Middleware
+ end
+
+ middlewares :not_failure? do
+ use ConvenientService::Plugins::Status::CanBeChecked::Middleware
+ end
+
+ middlewares :not_error? do
+ use ConvenientService::Plugins::Status::CanBeChecked::Middleware
+ end
end
end
class self::Step
concerns do
@@ -164,32 +197,13 @@
use ConvenientService::Plugins::Step::CanHaveFallbacks::Concern
end
middlewares :result do
use ConvenientService::Plugins::Step::CanHaveFallbacks::Middleware.with(fallback_true_status: :failure)
- use ConvenientService::Plugins::Step::CanHaveParentResult::Middleware
- end
- middlewares :service_fallback_failure_result do
- use ConvenientService::Plugins::Common::NormalizesEnv::Middleware
- use ConvenientService::Plugins::Common::CachesReturnValue::Middleware
- use ConvenientService::Plugins::Step::RaisesOnNotResultReturnValue::Middleware
- end
-
- middlewares :fallback_failure_result do
- use ConvenientService::Plugins::Common::NormalizesEnv::Middleware
- use ConvenientService::Plugins::Common::CachesReturnValue::Middleware
- end
-
- middlewares :service_fallback_error_result do
- use ConvenientService::Plugins::Common::NormalizesEnv::Middleware
- use ConvenientService::Plugins::Common::CachesReturnValue::Middleware
- use ConvenientService::Plugins::Step::RaisesOnNotResultReturnValue::Middleware
- end
-
- middlewares :fallback_error_result do
- use ConvenientService::Plugins::Common::NormalizesEnv::Middleware
- use ConvenientService::Plugins::Common::CachesReturnValue::Middleware
+ insert_after \
+ ConvenientService::Plugins::Step::HasResult::Middleware,
+ ConvenientService::Plugins::Step::CanHaveParentResult::Middleware
end
end
if Dependencies.rspec.loaded?
concerns do