Sha256: 7b01c73cfa1f1e1283ae48c018e44a02eb7d0bc6f794e6a13bb9fe5abd8d0a42
Contents?: true
Size: 948 Bytes
Versions: 1
Compression:
Stored size: 948 Bytes
Contents
# frozen_string_literal: true module ConvenientService module Service module Plugins module CanHaveFallback class Middleware < MethodChainMiddleware intended_for :fallback_result, entity: :service ## # @return [ConvenientService::Service::Plugins::HasJSendResult::Entities::Result] # # @note `fallback_result` is always successful, that is why its status is pre-checked. # # @internal # NOTE: Copy is returned to have a fresh status. # def next(...) fallback_result = chain.next(...) raise Exceptions::ServiceFallbackReturnValueNotSuccess.new(service: entity, result: fallback_result) unless fallback_result.success? fallback_result.copy(overrides: {kwargs: {fallback_result: true}}) .tap { |result| result.success? } end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
convenient_service-0.13.0 | lib/convenient_service/service/plugins/can_have_fallback/middleware.rb |