module Athena::Console::Output::Interface
#
Athena::Console
uses a dedicated interface for representing an output destination.
This allows it to have multiple more specialized implementations as opposed to
being tightly coupled to STDOUT
or a raw IO.
This interface represents the methods that must be implemented, however implementations can add additional functionality.
The most common implementations include ACON::Output::ConsoleOutput
which is based on STDOUT
and STDERR
,
and ACON::Output::Null
which can be used when you want to silent all output, such as for tests.
Each output's ACON::Output::Verbosity
and output ACON::Output::Type
can also be configured on a per message basis.
Direct including types
Athena::Console::Output
Athena::Console::Output::Null
Athena::Console::Style::Output
Methods#
abstract #decorated=(decorated : Bool) : Nil
#
Sets if printed messages should be decorated.
abstract #decorated? : Bool
#
Returns true
if printed messages should have their decorations applied.
I.e. ACON::Formatter::OutputStyleInterface
.
abstract #formatter : ACON::Formatter::Interface
#
Returns the ACON::Formatter::Interface
used by self
.
abstract #formatter=(formatter : ACON::Formatter::Interface) : Nil
#
Sets the ACON::Formatter::Interface
used by self
.
abstract #print(message : String | Enumerable(String), verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
#
Outputs the provided message. The verbosity and/or output_type parameters can be used to control when and how the message is printed.
abstract #puts(message : String | Enumerable(String), verbosity : ACON::Output::Verbosity = :normal, output_type : ACON::Output::Type = :normal) : Nil
#
Outputs the provided message followed by a new line. The verbosity and/or output_type parameters can be used to control when and how the message is printed.
abstract #verbosity : ACON::Output::Verbosity
#
Returns the minimum ACON::Output::Verbosity
required for a message to be printed.
abstract #verbosity=(verbosity : ACON::Output::Verbosity) : Nil
#
Set the minimum ACON::Output::Verbosity
required for a message to be printed.