Sha256: 07fa7da36d23d7c3a21907394239d9e156ad8afdd367bb5678667a1fc8082ffb

Contents?: true

Size: 729 Bytes

Versions: 1

Compression:

Stored size: 729 Bytes

Contents

module Mandy
  class Job
    class << self
      attr_accessor :default
    end
    
    attr_reader :settings
    
    def initialize(name, &blk)
      @name = name
      @settings = {}
      instance_eval(&blk) if blk
    end
    
    def map(&blk)
      @mapper_class = Mandy::Mapper.compile(&blk)
    end
    
    def reduce(&blk)
      @reducer_class = Mandy::Reducer.compile(&blk)
    end
    
    def run_map(input=STDIN, output=STDOUT, &blk)
      mapper = @mapper_class.new(input, output)
      yield(mapper) if blk
      mapper.execute
    end
    
    def run_reduce(input=STDIN, output=STDOUT, &blk)
      reducer = @reducer_class.new(input, output)
      yield(reducer) if blk
      reducer.execute
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
trafficbroker-mandy-0.1.1 lib/job.rb