Sha256: 3e7cb1e452550c61bb2f7261d5b4cd98c9bb47120e6cd4c640aaa1cc87a92903

Contents?: true

Size: 275 Bytes

Versions: 2

Compression:

Stored size: 275 Bytes

Contents

module Beethoven
  class Composer
    def initialize(*fs)
      @fs = fs
    end

    def new(x)
      @fs.reduce(x) { |a, e| e.new(a) }
    end

    def *(other)
      self.class.new(other, self)
    end

    def |(other)
      self.class.new(self, other)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
beethoven-0.0.2 lib/beethoven/composer.rb
beethoven-0.0.1 lib/beethoven/composer.rb