Sha256: d3ce334dc09668d6e99c98f9cbfb4aad1e5cd387af654be03147d21a11d97a0e

Contents?: true

Size: 1.11 KB

Versions: 4

Compression:

Stored size: 1.11 KB

Contents

# frozen_string_literal: true

module ConvenientService
  module Service
    module Plugins
      module CanHaveSteps
        module Entities
          class Method
            module Entities
              module Callers
                class Proc < Callers::Base
                  def calculate_value(method)
                    method.organizer.instance_exec(&proc)
                  end

                  def validate_as_input_for_container!(container, method:)
                    true
                  end

                  def validate_as_output_for_container!(container, method:)
                    ##
                    # TODO: Better error message.
                    #
                    ::ConvenientService.raise Exceptions::OutputMethodProc.new(method: method, container: container)
                  end

                  def define_output_in_container!(container, index:, method:)
                    true
                  end

                  private

                  alias_method :proc, :object
                end
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
convenient_service-0.19.1 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
convenient_service-0.19.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
convenient_service-0.18.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
convenient_service-0.17.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb