Method: CLI::UI::StdoutRouter.with_id

Defined in:
lib/cli/ui/stdout_router.rb

.with_id(on_streams:, &block) ⇒ Object



334
335
336
337
338
339
340
341
342
343
344
# File 'lib/cli/ui/stdout_router.rb', line 334

def with_id(on_streams:, &block)
  require 'securerandom'
  id = format('%05d', rand(10**5))
  Thread.current[:cliui_output_id] = {
    id: id,
    streams: on_streams.map { |stream| T.cast(stream, IOLike) },
  }
  yield(id)
ensure
  Thread.current[:cliui_output_id] = nil
end