Sha256: 44f387890b137f54594896dcbaedf4bd9f2eab005f743d56752b51263124ef9f

Contents?: true

Size: 1.08 KB

Versions: 1

Compression:

Stored size: 1.08 KB

Contents

# frozen_string_literal: true

module ConvenientService
  module Service
    module Plugins
      module CanHaveFallback
        module Exceptions
          class FallbackResultIsNotOverridden < ::ConvenientService::Exception
            def initialize(service:)
              message = <<~TEXT
                Fallback result method (#fallback_result) of `#{service.class}` is NOT overridden.

                NOTE: Make sure overridden `fallback_result` returns `success` with reasonable "null" data.
              TEXT

              super(message)
            end
          end

          class ServiceFallbackReturnValueNotSuccess < ::ConvenientService::Exception
            def initialize(service:, result:)
              message = <<~TEXT
                Return value of service `#{service.class}` try is NOT a `success`.
                It is `#{result.status}`.

                Did you accidentally call `failure` or `error` instead of `success` from the `fallback_result` method?
              TEXT

              super(message)
            end
          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/exceptions.rb