Sha256: 9aa38adf45485ac3889dd6cee41387db686a8d004d3173b97ce402031c011d1a

Contents?: true

Size: 1.09 KB

Versions: 4

Compression:

Stored size: 1.09 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.
                    #
                    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.16.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
convenient_service-0.15.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
convenient_service-0.14.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb
convenient_service-0.13.0 lib/convenient_service/service/plugins/can_have_steps/entities/method/entities/callers/proc.rb