Sha256: 6692d8ac0557f7b4905a05d955cb1bb878dcd52bd2f1783d7f9b49f81ad9d7de

Contents?: true

Size: 1.25 KB

Versions: 26

Compression:

Stored size: 1.25 KB

Contents

class Streaminator

  require 'constants'

  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

26 entries across 26 versions & 1 rubygems

Version Path
ceedling-0.13.0 lib/streaminator.rb
ceedling-0.13.0.rc1 lib/streaminator.rb
ceedling-0.12.2 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.12.1 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.12.0 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.11.2 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.11.1 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.11.0 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.10.0 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.9.4 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.9.2 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.9.0 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.18 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.17 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.16 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.15 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.14 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.13 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.12 new_project_template/vendor/ceedling/lib/streaminator.rb
ceedling-0.0.8 new_project_template/vendor/ceedling/lib/streaminator.rb