2019-06-10 16:18:27 +07:00
|
|
|
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
|
2023-03-17 16:12:49 +07:00
|
|
|
|
2019-06-10 16:18:27 +07:00
|
|
|
# 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
|