Sha256: 9c4320480973fe61f31ae60683d883d1145de46c4cb8b8a7b22eee6112737e60
Contents?: true
Size: 709 Bytes
Versions: 4
Compression:
Stored size: 709 Bytes
Contents
# frozen_string_literal: true # Released under the MIT License. # Copyright, 2024, by Samuel Williams. require_relative "logger" module Console # Whether the current fiber is emitting a warning. Fiber.attr_accessor :console_warn # Redirect warnings to Console.warn. module Warn # Redirect warnings to {Console.warn}. def warn(message, **options) fiber = Fiber.current # We do this to be extra pendantic about avoiding infinite recursion. return super if fiber.console_warn begin fiber.console_warn = true message.chomp! Console::Logger.instance.warn(message, **options) ensure fiber.console_warn = false end end end ::Warning.extend(Warn) end
Version data entries
4 entries across 4 versions & 1 rubygems
Version | Path |
---|---|
console-1.29.3 | lib/console/warn.rb |
console-1.29.2 | lib/console/warn.rb |
console-1.29.1 | lib/console/warn.rb |
console-1.29.0 | lib/console/warn.rb |