Sha256: a2d45f3539988fb53e0ca20e19fb643236f44f62d2014e93a35c39c8b39e0ae2

Contents?: true

Size: 689 Bytes

Versions: 4

Compression:

Stored size: 689 Bytes

Contents

# typed: false
# frozen_string_literal: true

module Workato
  module Connector
    module Sdk
      # match proc's arguments, even if it's a lambda.
      module BlockInvocationRefinements
        module CallRefinement
          def call(*args, &block)
            super(*args.take(parameters.length), &block)
          end
        end

        refine Proc do
          prepend CallRefinement
        end

        module InstanceExecRefinement
          def instance_exec(*args, &block)
            super(*args.take(block.parameters.length), &block)
          end
        end

        refine BasicObject do
          prepend InstanceExecRefinement
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
workato-connector-sdk-1.2.0 lib/workato/connector/sdk/block_invocation_refinements.rb
workato-connector-sdk-1.0.3 lib/workato/connector/sdk/block_invocation_refinements.rb
workato-connector-sdk-1.1.0 lib/workato/connector/sdk/block_invocation_refinements.rb
workato-connector-sdk-1.0.2 lib/workato/connector/sdk/block_invocation_refinements.rb