Sha256: a80a410bc5c0e42e5bacd6a27b4fe3285c18cbdaf8b48e2c56318dc1ea8ee816

Contents?: true

Size: 544 Bytes

Versions: 1

Compression:

Stored size: 544 Bytes

Contents

require 'json'

module DeadlySerious
  module Engine
    class JsonIo
      include Enumerable

      def initialize(io)
        @io = io
      end

      def each
        if block_given?
          @io.each { |line| yield JSON.parse(line) }
        else
          @io.each
        end
      end

      def <<(value)
        case value
          when Hash
            @io << value.to_json << "\n"
          else
            @io << Array(value).to_json << "\n"
        end
      end

      def flush
        @io.flush
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
deadly_serious-1.0.0.pre lib/deadly_serious/engine/json_io.rb