console 1.27.0 → 1.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 93187d6e4774eecaad627306d33a5f38bad4e123e029587d7f142a1265de6ec6
4
- data.tar.gz: 9a5015df0b90995173414eecd2b5b6bff60fe07129db4089cad9c86bdbf1e84f
3
+ metadata.gz: 1fa166f5900ef3a9c90b337ce6dd57faa99527fd9746a47aa61bb7f7535e606d
4
+ data.tar.gz: c6d7d06fdd475006e000c3da6d65fdcd3a5c58e10c90afa8b380f795d45a16d1
5
5
  SHA512:
6
- metadata.gz: d1bc5192624a8c15f464ceac4c5b7f6b3d4340df8a75aff4f5e20b6b42d340872135538b5abb4dd8a2e34f57048536898dee9e07a2c1a0e2e819a1c34b259cc5
7
- data.tar.gz: d61a670deecf0418cd09ed9f1a4d800d2dd5d7b41bd02b3ce2aaa410b27178e62bb7071106a4d7ae89c57fcc4aeadd9ce478a37a1a7859bd20ac00c76c7e1c43
6
+ metadata.gz: 620b134d260d72d3b69a57e455584d556d611aa8a441fbd7624722b1cfaf3541015335717b82da8ea2aa0682f94e2898c9f28c4162fa5b5842297035f81bd5c0
7
+ data.tar.gz: be9318b5f775a9bd33f5c8951ffae4b921dbe0618f209080645a3eb12dcd096ef092d94f1239564e03497961ebbfbbb926d43294b8b524a94486e6b62a835b1a
checksums.yaml.gz.sig CHANGED
Binary file
data/bake/console.rb CHANGED
@@ -1,18 +1,18 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2020-2022, by Samuel Williams.
4
+ # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
6
  # Increase the verbosity of the logger to info.
7
7
  def info
8
- require_relative '../lib/console'
8
+ require_relative "../lib/console"
9
9
 
10
10
  Console.logger.info!
11
11
  end
12
12
 
13
13
  # Increase the verbosity of the logger to debug.
14
14
  def debug
15
- require_relative '../lib/console'
15
+ require_relative "../lib/console"
16
16
 
17
17
  Console.logger.debug!
18
18
  end
@@ -3,7 +3,8 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require_relative 'filter'
6
+ require_relative "filter"
7
+ require_relative "output/failure"
7
8
 
8
9
  module Console
9
10
  # A general sink which captures all events into a buffer.
@@ -58,7 +59,7 @@ module Console
58
59
  @verbose
59
60
  end
60
61
 
61
- def call(subject = nil, *arguments, severity: UNKNOWN, event: nil, **options, &block)
62
+ def call(subject = nil, *arguments, severity: UNKNOWN, event: nil, **options, &block)
62
63
  record = {
63
64
  time: ::Time.now.iso8601,
64
65
  severity: severity,
@@ -3,7 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2022-2024, by Samuel Williams.
5
5
 
6
- require 'logger'
6
+ require "logger"
7
7
 
8
8
  module Console
9
9
  module Compatible
@@ -5,7 +5,7 @@
5
5
  # Copyright, 2021, by Robert Schulze.
6
6
  # Copyright, 2024, by Patrik Wenger.
7
7
 
8
- require_relative 'generic'
8
+ require_relative "generic"
9
9
 
10
10
  module Console
11
11
  module Event
@@ -28,9 +28,9 @@ module Console
28
28
  def self.log(subject, exception, **options)
29
29
  Console.error(subject, **self.for(exception).to_hash, **options)
30
30
  end
31
-
31
+
32
32
  attr_reader :exception
33
-
33
+
34
34
  def initialize(exception, root = Dir.getwd)
35
35
  @exception = exception
36
36
  @root = root
@@ -59,7 +59,7 @@ module Console
59
59
  message = exception.detailed_message
60
60
 
61
61
  # We want to remove the trailling exception class as we format it differently:
62
- message.sub!(/\s*\(.*?\)$/, '')
62
+ message.sub!(/\s*\(.*?\)$/, "")
63
63
 
64
64
  hash[:message] = message
65
65
  else
@@ -3,8 +3,8 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require_relative 'generic'
7
- require_relative '../clock'
6
+ require_relative "generic"
7
+ require_relative "../clock"
8
8
 
9
9
  module Console
10
10
  module Event
data/lib/console/event.rb CHANGED
@@ -3,5 +3,5 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require_relative 'event/spawn'
7
- require_relative 'event/failure'
6
+ require_relative "event/spawn"
7
+ require_relative "event/failure"
@@ -10,7 +10,7 @@ module Console
10
10
  UNKNOWN = :unknown
11
11
 
12
12
  class Filter
13
- if Object.const_defined?(:Ractor) and RUBY_VERSION >= '3.1'
13
+ if Object.const_defined?(:Ractor) and RUBY_VERSION >= "3.1"
14
14
  def self.define_immutable_method(name, &block)
15
15
  block = Ractor.make_shareable(block)
16
16
  self.define_method(name, &block)
@@ -1,9 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2023, by Samuel Williams.
4
+ # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
- require 'json'
6
+ require "json"
7
7
 
8
8
  module Console
9
9
  module Format
@@ -3,7 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2023-2024, by Samuel Williams.
5
5
 
6
- require_relative 'format/safe'
6
+ require_relative "format/safe"
7
7
 
8
8
  module Console
9
9
  module Format
@@ -0,0 +1,53 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright 2024, by Samuel Williams.
5
+
6
+ require_relative "logger"
7
+
8
+ module Console
9
+ # The public logger interface.
10
+ module Interface
11
+ # Get the current logger instance.
12
+ def logger
13
+ Logger.instance
14
+ end
15
+
16
+ # Set the current logger instance.
17
+ #
18
+ # The current logger instance is assigned per-fiber.
19
+ def logger= instance
20
+ Logger.instance= instance
21
+ end
22
+
23
+ # Emit a debug log message.
24
+ def debug(...)
25
+ Logger.instance.debug(...)
26
+ end
27
+
28
+ # Emit an informational log message.
29
+ def info(...)
30
+ Logger.instance.info(...)
31
+ end
32
+
33
+ # Emit a warning log message.
34
+ def warn(...)
35
+ Logger.instance.warn(...)
36
+ end
37
+
38
+ # Emit an error log message.
39
+ def error(...)
40
+ Logger.instance.error(...)
41
+ end
42
+
43
+ # Emit a fatal log message.
44
+ def fatal(...)
45
+ Logger.instance.fatal(...)
46
+ end
47
+
48
+ # Emit a log message with arbitrary arguments and options.
49
+ def call(...)
50
+ Logger.instance.call(...)
51
+ end
52
+ end
53
+ end
@@ -5,13 +5,15 @@
5
5
  # Copyright, 2021, by Bryan Powell.
6
6
  # Copyright, 2021, by Robert Schulze.
7
7
 
8
- require_relative 'output'
9
- require_relative 'filter'
10
- require_relative 'event'
11
- require_relative 'resolver'
12
- require_relative 'progress'
8
+ require_relative "output"
9
+ require_relative "output/failure"
13
10
 
14
- require 'fiber/local'
11
+ require_relative "filter"
12
+ require_relative "event"
13
+ require_relative "resolver"
14
+ require_relative "progress"
15
+
16
+ require "fiber/local"
15
17
 
16
18
  module Console
17
19
  class Logger < Filter[debug: 0, info: 1, warn: 2, error: 3, fatal: 4]
@@ -21,7 +23,7 @@ module Console
21
23
  # You can also specify CONSOLE_LEVEL=debug or CONSOLE_LEVEL=info in environment.
22
24
  # https://mislav.net/2011/06/ruby-verbose-mode/ has more details about how it all fits together.
23
25
  def self.default_log_level(env = ENV)
24
- if level = env['CONSOLE_LEVEL']
26
+ if level = env["CONSOLE_LEVEL"]
25
27
  LEVELS[level.to_sym] || level.to_i
26
28
  elsif $DEBUG
27
29
  DEBUG
@@ -34,7 +36,7 @@ module Console
34
36
 
35
37
  # Controls verbose output using `$VERBOSE`.
36
38
  def self.verbose?(env = ENV)
37
- !$VERBOSE.nil? || env['CONSOLE_VERBOSE']
39
+ !$VERBOSE.nil? || env["CONSOLE_VERBOSE"]
38
40
  end
39
41
 
40
42
  def self.default_logger(output = $stderr, env = ENV, **options)
@@ -47,6 +49,7 @@ module Console
47
49
  end
48
50
 
49
51
  output = Output.new(output, env, **options)
52
+
50
53
  logger = self.new(output, **options)
51
54
 
52
55
  Resolver.default_resolver(logger)
@@ -61,6 +64,9 @@ module Console
61
64
  DEFAULT_LEVEL = 1
62
65
 
63
66
  def initialize(output, **options)
67
+ # This is the expected default behaviour, but it may be nice to have a way to override it.
68
+ output = Output::Failure.new(output, **options)
69
+
64
70
  super(output, **options)
65
71
  end
66
72
 
@@ -69,20 +75,5 @@ module Console
69
75
 
70
76
  Progress.new(subject, total, **options)
71
77
  end
72
-
73
- def error(subject, *arguments, **options, &block)
74
- # This is a special case where we want to create a failure event from an exception.
75
- # It's common to see `Console.error(self, exception)` in code.
76
- if arguments.first.is_a?(Exception)
77
- exception = arguments.shift
78
- options[:event] = Event::Failure.for(exception)
79
- end
80
-
81
- super
82
- end
83
-
84
- def failure(subject, exception, **options)
85
- error(subject, event: Event::Failure.for(exception), **options)
86
- end
87
78
  end
88
79
  end
@@ -3,8 +3,9 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2021-2024, by Samuel Williams.
5
5
 
6
- require_relative 'terminal'
7
- require_relative 'serialized'
6
+ require_relative "terminal"
7
+ require_relative "serialized"
8
+ require_relative "failure"
8
9
 
9
10
  module Console
10
11
  module Output
@@ -13,10 +14,12 @@ module Console
13
14
  output ||= $stderr
14
15
 
15
16
  if output.tty?
16
- Terminal.new(output, **options)
17
+ output = Terminal.new(output, **options)
17
18
  else
18
- Serialized.new(output, **options)
19
+ output = Serialized.new(output, **options)
19
20
  end
21
+
22
+ return output
20
23
  end
21
24
  end
22
25
  end
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2021-2024, by Samuel Williams.
5
+
6
+ require_relative "wrapper"
7
+ require_relative "../event/failure"
8
+
9
+ module Console
10
+ module Output
11
+ # A wrapper for outputting failure messages, which can include exceptions.
12
+ class Failure < Wrapper
13
+ def initialize(output, **options)
14
+ super(output, **options)
15
+ end
16
+
17
+ # The exception must be either the last argument or passed as an option.
18
+ def call(subject = nil, *arguments, exception: nil, **options, &block)
19
+ if exception.nil?
20
+ last = arguments.last
21
+ if last.is_a?(Exception)
22
+ options[:event] = Event::Failure.for(last)
23
+ end
24
+ else
25
+ options[:event] = Event::Failure.for(exception)
26
+ end
27
+
28
+ super(subject, *arguments, **options)
29
+ end
30
+ end
31
+ end
32
+ end
@@ -9,6 +9,10 @@ module Console
9
9
  def initialize(...)
10
10
  end
11
11
 
12
+ def last_output
13
+ self
14
+ end
15
+
12
16
  def call(...)
13
17
  # Do nothing.
14
18
  end
@@ -3,7 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2021-2024, by Samuel Williams.
5
5
 
6
- require_relative 'wrapper'
6
+ require_relative "wrapper"
7
7
 
8
8
  module Console
9
9
  module Output
@@ -3,18 +3,23 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require_relative '../format'
7
- require 'time'
8
- require 'fiber/annotation'
6
+ require_relative "../format"
7
+ require "time"
8
+ require "fiber/annotation"
9
9
 
10
10
  module Console
11
11
  module Output
12
12
  class Serialized
13
- def initialize(output, format: Format.default, **options)
14
- @io = output
13
+ def initialize(io, format: Format.default, **options)
14
+ @io = io
15
15
  @format = format
16
16
  end
17
17
 
18
+ # This a final output that then writes to an IO object.
19
+ def last_output
20
+ self
21
+ end
22
+
18
23
  attr :io
19
24
  attr :format
20
25
 
@@ -4,13 +4,13 @@
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
  # Copyright, 2021, by Robert Schulze.
6
6
 
7
- require_relative '../clock'
8
- require_relative '../terminal'
7
+ require_relative "../clock"
8
+ require_relative "../terminal"
9
9
 
10
- require 'json'
11
- require 'fiber'
12
- require 'fiber/annotation'
13
- require 'stringio'
10
+ require "json"
11
+ require "fiber"
12
+ require "fiber/annotation"
13
+ require "stringio"
14
14
 
15
15
  module Console
16
16
  module Output
@@ -35,7 +35,7 @@ module Console
35
35
  end
36
36
 
37
37
  # This, and all related methods, is considered private.
38
- CONSOLE_START_AT = 'CONSOLE_START_AT'
38
+ CONSOLE_START_AT = "CONSOLE_START_AT"
39
39
 
40
40
  # Exports CONSOLE_START which can be used to synchronize the start times of all child processes when they log using delta time.
41
41
  def self.start_at!(environment = ENV)
@@ -78,6 +78,11 @@ module Console
78
78
  self.register_formatters
79
79
  end
80
80
 
81
+ # This a final output that then writes to an IO object.
82
+ def last_output
83
+ self
84
+ end
85
+
81
86
  attr :io
82
87
 
83
88
  attr_accessor :verbose
@@ -10,6 +10,12 @@ module Console
10
10
  @delegate = delegate
11
11
  end
12
12
 
13
+ attr :delegate
14
+
15
+ def last_output
16
+ @delegate.last_output
17
+ end
18
+
13
19
  def verbose!(value = true)
14
20
  @delegate.verbose!(value)
15
21
  end
@@ -3,16 +3,16 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2021-2024, by Samuel Williams.
5
5
 
6
- require_relative 'output/default'
7
- require_relative 'output/serialized'
8
- require_relative 'output/terminal'
9
- require_relative 'output/null'
6
+ require_relative "output/default"
7
+ require_relative "output/serialized"
8
+ require_relative "output/terminal"
9
+ require_relative "output/null"
10
10
 
11
11
  module Console
12
12
  module Output
13
13
  def self.new(output = nil, env = ENV, **options)
14
- if names = env['CONSOLE_OUTPUT']
15
- names = names.split(',').reverse
14
+ if names = env["CONSOLE_OUTPUT"]
15
+ names = names.split(",").reverse
16
16
 
17
17
  names.inject(output) do |output, name|
18
18
  Output.const_get(name).new(output, **options)
@@ -4,7 +4,7 @@
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
  # Copyright, 2022, by Anton Sozontov.
6
6
 
7
- require_relative 'clock'
7
+ require_relative "clock"
8
8
 
9
9
  module Console
10
10
  class Progress
@@ -1,10 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Released under the MIT License.
4
- # Copyright, 2019-2022, by Samuel Williams.
4
+ # Copyright, 2019-2024, by Samuel Williams.
5
5
  # Copyright, 2021, by Robert Schulze.
6
6
 
7
- require_relative 'filter'
7
+ require_relative "filter"
8
8
 
9
9
  module Console
10
10
  class Resolver
@@ -22,12 +22,12 @@ module Console
22
22
  def self.default_resolver(logger, env = ENV)
23
23
  # Find all CONSOLE_$LEVEL variables from environment:
24
24
  levels = logger.class::LEVELS
25
- .map{|label, level| [level, env["CONSOLE_#{label.upcase}"]&.split(',')]}
25
+ .map{|label, level| [level, env["CONSOLE_#{label.upcase}"]&.split(",")]}
26
26
  .to_h
27
27
  .compact
28
28
 
29
- off_klasses = env['CONSOLE_OFF']&.split(',')
30
- on_klasses = env['CONSOLE_ON']&.split(',')
29
+ off_klasses = env["CONSOLE_OFF"]&.split(",")
30
+ on_klasses = env["CONSOLE_ON"]&.split(",")
31
31
 
32
32
  resolver = nil
33
33
 
@@ -3,7 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require 'io/console'
6
+ require "io/console"
7
7
 
8
8
  module Console
9
9
  # Styled terminal output.
@@ -3,9 +3,9 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require 'io/console'
6
+ require "io/console"
7
7
 
8
- require_relative 'text'
8
+ require_relative "text"
9
9
 
10
10
  module Console
11
11
  # Styled terminal output.
@@ -3,12 +3,12 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
- require_relative 'terminal/text'
7
- require_relative 'terminal/xterm'
6
+ require_relative "terminal/text"
7
+ require_relative "terminal/xterm"
8
8
 
9
- require_relative 'terminal/formatter/progress'
10
- require_relative 'terminal/formatter/failure'
11
- require_relative 'terminal/formatter/spawn'
9
+ require_relative "terminal/formatter/progress"
10
+ require_relative "terminal/formatter/failure"
11
+ require_relative "terminal/formatter/spawn"
12
12
 
13
13
  module Console
14
14
  module Terminal
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2019-2024, by Samuel Williams.
5
5
 
6
6
  module Console
7
- VERSION = "1.27.0"
7
+ VERSION = "1.29.0"
8
8
  end
@@ -0,0 +1,33 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Released under the MIT License.
4
+ # Copyright, 2024, by Samuel Williams.
5
+
6
+ require_relative "logger"
7
+
8
+ module Console
9
+ # Whether the current fiber is emitting a warning.
10
+ Fiber.attr_accessor :console_warn
11
+
12
+ # Redirect warnings to Console.warn.
13
+ module Warn
14
+ # Redirect warnings to {Console.warn}.
15
+ def warn(message, **options)
16
+ fiber = Fiber.current
17
+
18
+ # We do this to be extra pendantic about avoiding infinite recursion.
19
+ return super if fiber.console_warn
20
+
21
+ begin
22
+ fiber.console_warn = true
23
+ message.chomp!
24
+
25
+ Console::Logger.instance.warn(message, **options)
26
+ ensure
27
+ fiber.console_warn = false
28
+ end
29
+ end
30
+ end
31
+
32
+ ::Warning.extend(Warn)
33
+ end
data/lib/console.rb CHANGED
@@ -6,41 +6,9 @@
6
6
  # Copyright, 2020, by Michael Adams.
7
7
  # Copyright, 2021, by Cédric Boutillier.
8
8
 
9
- require_relative 'console/version'
10
- require_relative 'console/logger'
9
+ require_relative "console/version"
10
+ require_relative "console/interface"
11
11
 
12
12
  module Console
13
- class << self
14
- def logger
15
- Logger.instance
16
- end
17
-
18
- def logger= instance
19
- Logger.instance= instance
20
- end
21
-
22
- def debug(...)
23
- Logger.instance.debug(...)
24
- end
25
-
26
- def info(...)
27
- Logger.instance.info(...)
28
- end
29
-
30
- def warn(...)
31
- Logger.instance.warn(...)
32
- end
33
-
34
- def error(...)
35
- Logger.instance.error(...)
36
- end
37
-
38
- def fatal(...)
39
- Logger.instance.fatal(...)
40
- end
41
-
42
- def call(...)
43
- Logger.instance.call(...)
44
- end
45
- end
13
+ Console.extend(Interface)
46
14
  end
data/readme.md CHANGED
@@ -26,6 +26,22 @@ Please see the [project documentation](https://socketry.github.io/console/) for
26
26
 
27
27
  - [Integration](https://socketry.github.io/console/guides/integration/index) - This guide explains how to integrate the `console` output into different systems.
28
28
 
29
+ - [Events](https://socketry.github.io/console/guides/events/index) - This guide explains how to log structured events with a well-defined schema.
30
+
31
+ ## Releases
32
+
33
+ Please see the [project releases](https://socketry.github.io/console/releases/index) for all releases.
34
+
35
+ ### v1.29.0
36
+
37
+ - Don't make `Kernel#warn` redirection to `Console.warn` the default behavior, you must `require 'console/warn'` to enable it.
38
+ - Remove deprecated `Console::Logger#failure`.
39
+ - [Consistent Handling of Exceptions](https://socketry.github.io/console/releases/index#consistent-handling-of-exceptions)
40
+
41
+ ### v1.28.0
42
+
43
+ - Add support for `Kernel#warn` redirection to `Console.warn`.
44
+
29
45
  ## Contributing
30
46
 
31
47
  We welcome contributions to this project.
data/releases.md ADDED
@@ -0,0 +1,25 @@
1
+ # Releases
2
+
3
+ ## v1.29.0
4
+
5
+ - Don't make `Kernel#warn` redirection to `Console.warn` the default behavior, you must `require 'console/warn'` to enable it.
6
+ - Remove deprecated `Console::Logger#failure`.
7
+
8
+ ### Consistent Handling of Exceptions
9
+
10
+ `Console.call` and all wrapper methods will now consistently handle exceptions that are the last positional argument or keyword argument. This means that the following code will work as expected:
11
+
12
+ ``` ruby
13
+ begin
14
+ rescue => error
15
+ # Last positional argument:
16
+ Console.warn(self, "There may be an issue", error)
17
+
18
+ # Keyword argument (preferable):
19
+ Console.error(self, "There is an issue", exception: error)
20
+ end
21
+ ```
22
+
23
+ ## v1.28.0
24
+
25
+ - Add support for `Kernel#warn` redirection to `Console.warn`.
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: console
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.27.0
4
+ version: 1.29.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
@@ -47,7 +47,7 @@ cert_chain:
47
47
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
48
48
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
49
49
  -----END CERTIFICATE-----
50
- date: 2024-07-18 00:00:00.000000000 Z
50
+ date: 2024-11-06 00:00:00.000000000 Z
51
51
  dependencies:
52
52
  - !ruby/object:Gem::Dependency
53
53
  name: fiber-annotation
@@ -110,9 +110,11 @@ files:
110
110
  - lib/console/filter.rb
111
111
  - lib/console/format.rb
112
112
  - lib/console/format/safe.rb
113
+ - lib/console/interface.rb
113
114
  - lib/console/logger.rb
114
115
  - lib/console/output.rb
115
116
  - lib/console/output/default.rb
117
+ - lib/console/output/failure.rb
116
118
  - lib/console/output/null.rb
117
119
  - lib/console/output/sensitive.rb
118
120
  - lib/console/output/serialized.rb
@@ -128,8 +130,10 @@ files:
128
130
  - lib/console/terminal/text.rb
129
131
  - lib/console/terminal/xterm.rb
130
132
  - lib/console/version.rb
133
+ - lib/console/warn.rb
131
134
  - license.md
132
135
  - readme.md
136
+ - releases.md
133
137
  homepage: https://socketry.github.io/console
134
138
  licenses:
135
139
  - MIT
metadata.gz.sig CHANGED
Binary file