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