class EY::Serverside::Shell
Constants
- BOL
- CMD_CONTINUE
- CMD_INDENT
- CMD_PREFIX
- IMPORTANT_PREFIX
- STATUS_PREFIX
- SUBSTATUS_PREFIX
Attributes
logger[R]
start_time[R]
Public Class Methods
new(options)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 21 def initialize(options) @start_time = options[:start_time] || Time.now @verbose = options[:verbose] @stdout = options[:stdout] || $stdout @stderr = options[:stderr] || $stderr log_pathname = Pathname.new(options[:log_path]) log_pathname.unlink if log_pathname.exist? # start fresh @logger = Logger.new(log_pathname.to_s) @logger.level = Logger::DEBUG # Always log to the file at debug, formatter hides debug for non-verbose @logger.formatter = EY::Serverside::Shell::Formatter.new(@stdout, @stderr, start_time, @verbose) end
Public Instance Methods
command_err(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 93 def command_err(msg) unknown(msg.gsub(BOL,CMD_INDENT)) end
command_out(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 89 def command_out(msg) debug(msg.gsub(BOL,CMD_INDENT)) end
command_show(cmd)
click to toggle source
a debug outputter that displays a command being run Formatis like this:
$ cmd blah do \ > something more > end
# File lib/engineyard-serverside/shell.rb, line 85 def command_show(cmd) debug(cmd.gsub(BOL,CMD_CONTINUE).sub(CMD_CONTINUE, CMD_PREFIX)) end
debug(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 72 def debug(msg) logger.debug(msg) end
error(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 55 def error(msg) logger.error("ERROR: #{msg}") end
fatal(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 51 def fatal(msg) logger.fatal("FATAL: #{msg}") end
info(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 68 def info(msg) logger.info(msg) end
logged_system(cmd, server = nil)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 97 def logged_system(cmd, server = nil) EY::Serverside::Spawner.run(cmd, self, server) end
notice(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 64 def notice(msg) logger.warn(msg) end
status(msg)
click to toggle source
a nice info outputter that prepends spermy operators for some reason.
# File lib/engineyard-serverside/shell.rb, line 40 def status(msg) if msg.respond_to?(:force_encoding) msg.force_encoding(Encoding::UTF_8) end info msg.gsub(BOL, STATUS_PREFIX) end
substatus(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 47 def substatus(msg) debug msg.gsub(BOL, SUBSTATUS_PREFIX) end
unknown(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 76 def unknown(msg) logger.unknown(msg) end
verbose?()
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 35 def verbose? @verbose end
warning(msg)
click to toggle source
# File lib/engineyard-serverside/shell.rb, line 59 def warning(msg) logger.warn("WARNING: #{msg}") end
Also aliased as: warn