Sha256: d82b997dc76023c13f705f447f67851e46f8504403102b716b154bc8e6871fc8

Contents?: true

Size: 1.22 KB

Versions: 24

Compression:

Stored size: 1.22 KB

Contents

require 'ceedling/constants'

class Streaminator

  constructor :streaminator_helper, :verbosinator, :loginator, :stream_wrapper

  # for those objects for whom the configurator has already been instantiated,
  # Streaminator is a convenience object for handling verbosity and writing to the std streams

  def stdout_puts(string, verbosity=Verbosity::NORMAL)
    if (@verbosinator.should_output?(verbosity))
      @stream_wrapper.stdout_puts(string)
      @stream_wrapper.stdout_flush
    end
    
    # write to log as though Verbosity::OBNOXIOUS
    @loginator.log( string, @streaminator_helper.extract_name($stdout) )
  end

  def stderr_puts(string, verbosity=Verbosity::NORMAL)
    if (@verbosinator.should_output?(verbosity))
      @stream_wrapper.stderr_puts(string)
      @stream_wrapper.stderr_flush
    end

    # write to log as though Verbosity::OBNOXIOUS
    @loginator.log( string, @streaminator_helper.extract_name($stderr) )
  end

  def stream_puts(stream, string, verbosity=Verbosity::NORMAL)
    if (@verbosinator.should_output?(verbosity))
      stream.puts(string)
      stream.flush
    end

    # write to log as though Verbosity::OBNOXIOUS
    @loginator.log( string, @streaminator_helper.extract_name(stream) )
  end

end

Version data entries

24 entries across 24 versions & 1 rubygems

Version Path
ceedling-0.31.1 lib/ceedling/streaminator.rb
ceedling-0.31.0 lib/ceedling/streaminator.rb
ceedling-0.30.0 lib/ceedling/streaminator.rb
ceedling-0.28.3 lib/ceedling/streaminator.rb
ceedling-0.28.2 lib/ceedling/streaminator.rb
ceedling-0.28.1 lib/ceedling/streaminator.rb
ceedling-0.27.0 lib/ceedling/streaminator.rb
ceedling-0.25.0 lib/ceedling/streaminator.rb
ceedling-0.24.0 lib/ceedling/streaminator.rb
ceedling-0.22.0 lib/ceedling/streaminator.rb
ceedling-0.21.0 lib/ceedling/streaminator.rb
ceedling-0.20.3 lib/ceedling/streaminator.rb
ceedling-0.20.2 lib/ceedling/streaminator.rb
ceedling-0.19.0 lib/ceedling/streaminator.rb
ceedling-0.18.0 lib/ceedling/streaminator.rb
ceedling-0.17.0 lib/ceedling/streaminator.rb
ceedling-0.16.0 lib/ceedling/streaminator.rb
ceedling-0.15.6 lib/ceedling/streaminator.rb
ceedling-0.15.5 lib/ceedling/streaminator.rb
ceedling-0.15.4 lib/ceedling/streaminator.rb