Sha256: 6910d07a20c1a66e6f1998999d2b2192ff4d4b29ee22b027f63cb4f1784c79f2
Contents?: true
Size: 864 Bytes
Versions: 4
Compression:
Stored size: 864 Bytes
Contents
module Mandy class Mapper KEY_VALUE_SEPERATOR = "\t" unless defined?(KEY_VALUE_SEPERATOR) def initialize(input=STDIN, output=STDOUT) @input, @output = input, output end def self.compile(&blk) Class.new(Mandy::Mapper) do self.class_eval do define_method(:mapper, blk) if blk end end end def execute @input.each_line do |line| key, value = line.split(KEY_VALUE_SEPERATOR) key, value = nil, key if value.nil? value.chomp! mapper(key, value) end end def emit(key, value=nil) key = 'nil' if key.nil? @output.puts(value.nil? ? key.to_s : "#{key}\t#{value}") end private def mapper(key,value) # default map is simply a pass-through emit(key, value) end end end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
trafficbroker-mandy-0.1.0 | lib/mapper.rb |
trafficbroker-mandy-0.1.1 | lib/mapper.rb |
trafficbroker-mandy-0.1.2 | lib/mapper.rb |
trafficbroker-mandy-0.1.3 | lib/mapper.rb |