Sha256: 657808b13e259410124c27b6cd3462f5f8d565965a3c71d52a83f832b6054a7c
Contents?: true
Size: 1.13 KB
Versions: 2
Compression:
Stored size: 1.13 KB
Contents
module Alf module Operator # # Specialization of Operator for implementing operators that rely on a # cesure algorithm. # module Cesure include Unary protected # (see Operator#_each) def _each receiver, prev_key = Proc.new, nil each_input_tuple do |tuple| cur_key = project(tuple) if cur_key != prev_key flush_cesure(prev_key, receiver) unless prev_key.nil? start_cesure(cur_key, receiver) prev_key = cur_key end accumulate_cesure(tuple, receiver) end flush_cesure(prev_key, receiver) unless prev_key.nil? end # Projects a given tuple and returns it's cesure projection def project(tuple) end # Callback fired every time a new block starts def start_cesure(key, receiver) end # Callback fired on each tuple of the current block def accumulate_cesure(tuple, receiver) end # Callback fired at end of a block def flush_cesure(key, receiver) end end # module Cesure end # module Operator end # module Alf
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
alf-0.10.1 | lib/alf/operator/cesure.rb |
alf-0.10.0 | lib/alf/operator/cesure.rb |