Sha256: 5b982f179fec2135ae46f8113f8602565d80f85623b360bbfe999f1421072a56

Contents?: true

Size: 442 Bytes

Versions: 7

Compression:

Stored size: 442 Bytes

Contents

require 'json'

module Hallmonitor
  module Outputters
    class IOOutputter < Outputter

      def initialize(name, out)
        super(name)
        @out = out
      end

      def process(event)
        begin
          @out.print "EVENT: #{event.to_json}\n"
          @out.flush
        rescue IOError => e
          close
        end
      end

      private
      def close
        @out.close unless @out.nil?
      end
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
hallmonitor-0.4.0 lib/hallmonitor/outputters/iooutputter.rb
hallmonitor-0.3.0 lib/hallmonitor/outputters/iooutputter.rb
hallmonitor-0.2.0 lib/hallmonitor/outputters/iooutputter.rb
hallmonitor-0.1.1 lib/hallmonitor/outputters/iooutputter.rb
hallmonitor-0.1.0 lib/hallmonitor/outputters/iooutputter.rb
hallmonitor-0.0.2 lib/hallmonitor/outputters/iooutputter.rb
hallmonitor-0.0.1 lib/hallmonitor/outputters/iooutputter.rb