mirror of
https://github.com/hathach/tinyusb.git
synced 2025-01-17 05:32:55 +08:00
42 lines
1.2 KiB
Ruby
42 lines
1.2 KiB
Ruby
|
|
||
|
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
|