class Megam::Text

Attributes

config[R]
stderr[R]
stdin[R]
stdout[R]

Public Class Methods

new(stdout, stderr, stdin, config) click to toggle source
# File lib/megam/core/text.rb, line 10
def initialize(stdout, stderr, stdin, config)
    @stdout, @stderr, @stdin, @config = stdout, stderr, stdin, config
end

Public Instance Methods

color(string, *colors) click to toggle source
# File lib/megam/core/text.rb, line 64
def color(string, *colors)
    if color?
        highline.color(string, *colors)
    else
        string
    end
end
color?() click to toggle source

Should colored output be used ?. When output is not to a terminal, colored output is never used

# File lib/megam/core/text.rb, line 74
def color?
    stdout.tty?
end
err(message) click to toggle source

Prints a msg to stderr. Used for warn, error, and fatal.

# File lib/megam/core/text.rb, line 45
def err(message)
    stderr.puts message
end
error(message) click to toggle source

Print an error message

# File lib/megam/core/text.rb, line 55
def error(message)
    err("#{color('ERROR:', :red, :bold)} #{message}")
end
fatal(message) click to toggle source

Print a message describing a fatal error.

# File lib/megam/core/text.rb, line 60
def fatal(message)
    err("#{color('FATAL:', :red, :bold)} #{message}")
end
highline() click to toggle source
# File lib/megam/core/text.rb, line 14
def highline
    @highline ||= begin
        require 'highline'
        HighLine.new
    end
end
info(message) click to toggle source

Prints a message to stdout. Aliased as info for compatibility with the logger API.

# File lib/megam/core/text.rb, line 40
def info(message)
    stdout.puts("#{color('INFO:', :green, :bold)} #{message}")
end
list(*args) click to toggle source
# File lib/megam/core/text.rb, line 78
def list(*args)
    highline.list(*args)
end
msg(message) click to toggle source
# File lib/megam/core/text.rb, line 33
def msg(message)
    stdout.puts message
end
pretty_print(data) click to toggle source
# File lib/megam/core/text.rb, line 82
def pretty_print(data)
    stdout.puts data
end
summarize(data) click to toggle source

Summarize the data. Defaults to text format output, which may not be very summary-like

# File lib/megam/core/text.rb, line 23
def summarize(data)
    text_format(data)
end
text_format(data) click to toggle source

Converts the data to a String in the text format. Uses Chef::Knife::Core::TextFormatter

# File lib/megam/core/text.rb, line 29
def text_format(data)
    Megam::TextFormatter.new(data, self).formatted_data
end
warn(message) click to toggle source

Print a warning message

# File lib/megam/core/text.rb, line 50
def warn(message)
    err("#{color('WARNING:', :yellow, :bold)} #{message}")
end