ConsoleSourceConsoleOutput

module Output

Output handling.

Nested

Definitions

JSON = Serialized

  • deprecated

Signature

deprecated

This is a legacy constant, please use Serialized instead.

def self.new(output = nil, env = ENV, **options)

Create a new output based on the environment.

The environment variable CONSOLE_OUTPUT can be used to specify a list of output classes to wrap around the output. If not specified the module Console::Output::Default output is used.

The output argument is deliberately unders-specified but can be an IO object or an instance of module Console::Output.

Signature

parameter output Console::Output

The output to wrap OR an IO object.

parameter env Hash

The environment to read configuration from.

parameter options Hash

Additional options to customize the output.

returns Console::Output

The output instance.

Implementation

def self.new(output = nil, env = ENV, **options)
	if names = env["CONSOLE_OUTPUT"]
		names = names.split(",").reverse
		
		names.inject(output) do |output, name|
			Output.const_get(name).new(output, **options)
		end
	else
		return Output::Default.new(output, **options)
	end
end