Sha256: cd702cbc7bae81dfeda63da9e22ebcf6427313295a859ac5d15325a62d524887

Contents?: true

Size: 520 Bytes

Versions: 1

Compression:

Stored size: 520 Bytes

Contents

module Function
  module Composite
    VERSION = "0.1.0"

    refine(Symbol) do
      def call(*args, &block)
        to_proc.call(*args, &block)
      end

      def <<(other = (b = true), &block)
        to_proc << (b ? block : other.to_proc)
      end

      def >>(other = (b = true), &block)
        to_proc >> (b ? block : other.to_proc)
      end
    end

    refine(Proc) do
      def <<(other)
        super(other.to_proc)
      end

      def >>(other)
        super(other.to_proc)
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
function-composite-0.1.0 lib/function/composite.rb