Sha256: 0cad7b0bd1fa5a77cfdd5cd87afdc030c38ab84eb434e2eed6baab7ace8a524f

Contents?: true

Size: 343 Bytes

Versions: 1

Compression:

Stored size: 343 Bytes

Contents

module Signal
  def self.call
    Call
  end

  module Call
    def self.included(target)
      target.include(Signal)
      target.extend(ClassMethods)
    end

    module ClassMethods
      def call(*args, &block)
        new(*args).tap do |instance|
          yield(instance)
          instance.call
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
signal-0.3.0 lib/signal/call.rb