Sha256: bbf7080953dc66ddab9d701aaeff3ba144951b0b02fcdb6018ce8f57b7c65bc3

Contents?: true

Size: 523 Bytes

Versions: 13

Compression:

Stored size: 523 Bytes

Contents

require 'jsduck/json_duck'
require 'singleton'

module JsDuck

  # Central place for buffering JSON data that's meant to be written to STDOUT
  class Stdout
    include Singleton

    def initialize
      @data = nil
    end

    # Adds array of new data
    def add(data)
      if @data
        @data += data
      else
        @data = data
      end
    end

    # Writes data to STDOUT in JSON format,
    # but only if some data was added.
    def flush
      puts JsonDuck.generate(@data) if @data
    end

  end

end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
jsduck-4.0.1 lib/jsduck/stdout.rb
jsduck-4.0.0 lib/jsduck/stdout.rb
jsduck-3.11.2 lib/jsduck/stdout.rb
jsduck-4.0.beta2 lib/jsduck/stdout.rb
jsduck-3.11.1 lib/jsduck/stdout.rb
jsduck-4.0.beta lib/jsduck/stdout.rb
jsduck-3.11.0 lib/jsduck/stdout.rb
jsduck-3.10.5 lib/jsduck/stdout.rb
jsduck-3.10.4 lib/jsduck/stdout.rb
jsduck-3.10.3 lib/jsduck/stdout.rb
jsduck-3.10.2 lib/jsduck/stdout.rb
jsduck-3.10.1 lib/jsduck/stdout.rb
jsduck-3.10.0 lib/jsduck/stdout.rb