Sha256: fec15ab69e0efaef2f74c2f1c14a026bb77963b7c6ae76f6d089b0e12ebd9537
Contents?: true
Size: 858 Bytes
Versions: 9
Compression:
Stored size: 858 Bytes
Contents
module Mandy module Reducers class Base < Mandy::Task include Mandy::IO::OutputFormatting def self.compile(&blk) Class.new(Mandy::Reducers::Base) do self.class_eval do define_method(:reducer, blk) if blk end end end def execute last_key, values = nil, [] @input.each_line do |line| key, value = line.split(KEY_VALUE_SEPERATOR) value.chomp! last_key = key if last_key.nil? if key != last_key reducer(last_key, values) last_key, values = key, [] end values << value end reducer(deserialize_key(last_key), values.map {|v| deserialize_value(v) }) end private def reducer(key,values) #nil end end end end
Version data entries
9 entries across 9 versions & 2 rubygems