Sha256: 648d54e138c396b18395a918643330b0fd205f4beff71929fb9f4c475cc45be4
Contents?: true
Size: 1.2 KB
Versions: 1
Compression:
Stored size: 1.2 KB
Contents
module Wukong class Sink < Wukong::Processor class NullSink < Wukong::Sink def process(record) true # do nothing end end # Write all lines to given file class IO < Wukong::Sink def process(record) file.puts(record) end end class FileSink < Wukong::Sink::IO field :filename, Pathname, :doc => "Filename to write" attr_reader :file def self.make(workflow, filename, stage_name=nil, attrs={}) super(workflow, attrs.merge(:filename => filename, :name => stage_name)) end def setup super filename.dirname.mkpath @file = File.open(filename, "w") end def stop @file.close if @file end register_processor end # Writes all lines to $stdout class Stdout < Wukong::Sink::IO def file() $stdout ; end register_processor end # Writes all lines to $stderr class Stderr < Wukong::Sink::IO def file() $stderr ; end register_processor end class ArraySink < Wukong::Sink field :records, Array, :default => [], :writer => :protected def process(record) self.records << record end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
wukong-3.0.0.pre | lib/wukong/widget/sink.rb |