Sha256: de324dd6c50b62299f8a4374e4b78e1c974eaf86c55c6b2dd813ef2b29fce0fd

Contents?: true

Size: 409 Bytes

Versions: 1

Compression:

Stored size: 409 Bytes

Contents

module Signal
  def self.call
    Extensions::Call
  end

  module Extensions
    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
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
signal-1.0.0 lib/signal/extensions/call.rb