Sha256: b93d8fdfa14cb56979a7e956d9e4555d03cbdaa99c38fc10f3197be624b346b8

Contents?: true

Size: 420 Bytes

Versions: 2

Compression:

Stored size: 420 Bytes

Contents

class Datapipes
  module Composable
    attr_accessor :accumulated

    # Source and Sink can't composed as function composition.
    # So accumulates composed objects internaly, then use them later.
    def +(op2)
      op1 = self
      op1_acc = (op1.accumulated || [op1])
      op2_acc = (op2.accumulated || [op2])
      self.class.new.tap do |o|
        o.accumulated = op1_acc + op2_acc
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
datapipes-0.1.5 lib/datapipes/composable.rb
datapipes-0.1.4 lib/datapipes/composable.rb