Sha256: 7363cbb13eea78201b130726fc5d18aef608adcd180ae60683fd0436a5c5190a

Contents?: true

Size: 730 Bytes

Versions: 1

Compression:

Stored size: 730 Bytes

Contents

# frozen_string_literal: true

module ConvenientService
  module Service
    module Plugins
      module HasResult
        module Concern
          module InstanceMethods
            def result
              raise Errors::ResultIsNotOverridden.new(service: self)
            end

            ##
            # TODO: Specs.
            #
            def success(**kwargs)
              self.class.success(**kwargs.merge(service: self))
            end

            def failure(**kwargs)
              self.class.failure(**kwargs.merge(service: self))
            end

            def error(**kwargs)
              self.class.error(**kwargs.merge(service: self))
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
convenient_service-0.1.0 lib/convenient_service/service/plugins/has_result/concern/instance_methods.rb