Module: SilentStream::Enhanced
- Defined in:
- lib/silent_stream.rb
Instance Method Summary collapse
-
#silence_all(switch = true, temporary_level = Logger::ERROR, logger = nil) { ... } ⇒ Object
Silences STDOUT and optionally a Logger while executing the block.
Instance Method Details
#silence_all(switch = true, temporary_level = Logger::ERROR, logger = nil) { ... } ⇒ Object
Note:
This method is not thread-safe.
Silences STDOUT and optionally a Logger while executing the block.
32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
# File 'lib/silent_stream.rb', line 32 def silence_all(switch = true, temporary_level = Logger::ERROR, logger = nil, &block) if !switch || silent_stream_no_silence yield else begin logger ||= silent_stream_logger old_logger_level = silent_stream_reset_logger_level(logger, temporary_level) # silence STDOUT (like puts) silence_stream(STDOUT, &block) ensure silent_stream_reset_logger_level(logger, old_logger_level) end end end |