Class: EY::Serverside::Shell
- Inherits:
-
Object
- Object
- EY::Serverside::Shell
show all
- Defined in:
- lib/engineyard-serverside/shell.rb,
lib/engineyard-serverside/shell/helpers.rb,
lib/engineyard-serverside/shell/yieldio.rb,
lib/engineyard-serverside/shell/formatter.rb
Defined Under Namespace
Modules: Helpers
Classes: Formatter, YieldIO
Instance Attribute Summary collapse
Instance Method Summary
collapse
Constructor Details
#initialize(options) ⇒ Shell
Returns a new instance of Shell.
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
# File 'lib/engineyard-serverside/shell.rb', line 12
def initialize(options)
@start_time = options[:start_time]
@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? @logger = Logger.new(log_pathname.to_s)
@logger.level = Logger::DEBUG @logger.formatter = EY::Serverside::Shell::Formatter.new(@stdout, @stderr, start_time, @verbose)
end
|
Instance Attribute Details
#logger ⇒ Object
Returns the value of attribute logger.
10
11
12
|
# File 'lib/engineyard-serverside/shell.rb', line 10
def logger
@logger
end
|
Instance Method Details
#command_err(msg) ⇒ Object
63
|
# File 'lib/engineyard-serverside/shell.rb', line 63
def command_err(msg) unknown msg.gsub(/^/,' ') end
|
#command_out(msg) ⇒ Object
62
|
# File 'lib/engineyard-serverside/shell.rb', line 62
def command_out(msg) debug msg.gsub(/^/,' ') end
|
#command_show(cmd) ⇒ Object
a debug outputter that displays a command being run Formatis like this:
$ cmd blah do \
> something more
> end
61
|
# File 'lib/engineyard-serverside/shell.rb', line 61
def command_show(cmd) debug cmd.gsub(/^/,' > ').sub(/>/, '$') end
|
#debug(msg) ⇒ Object
52
|
# File 'lib/engineyard-serverside/shell.rb', line 52
def debug(msg) logger.debug msg end
|
#error(msg) ⇒ Object
48
|
# File 'lib/engineyard-serverside/shell.rb', line 48
def error(msg) logger.error "ERROR: #{msg}" end
|
#exception(msg) ⇒ Object
55
|
# File 'lib/engineyard-serverside/shell.rb', line 55
def exception(msg) error msg end
|
#fatal(msg) ⇒ Object
47
|
# File 'lib/engineyard-serverside/shell.rb', line 47
def fatal(msg) logger.fatal "FATAL: #{msg}" end
|
#info(msg) ⇒ Object
51
|
# File 'lib/engineyard-serverside/shell.rb', line 51
def info(msg) logger.info msg end
|
#logged_system(cmd, server = nil) ⇒ Object
65
66
67
|
# File 'lib/engineyard-serverside/shell.rb', line 65
def logged_system(cmd, server = nil)
EY::Serverside::Spawner.run(cmd, self, server)
end
|
#notice(msg) ⇒ Object
50
|
# File 'lib/engineyard-serverside/shell.rb', line 50
def notice(msg) logger.warn msg end
|
#start_time ⇒ Object
31
32
33
|
# File 'lib/engineyard-serverside/shell.rb', line 31
def start_time
@start_time ||= Time.now
end
|
#status(msg) ⇒ Object
a nice info outputter that prepends spermy operators for some reason.
36
37
38
39
40
41
|
# File 'lib/engineyard-serverside/shell.rb', line 36
def status(msg)
if msg.respond_to?(:force_encoding)
msg.force_encoding("UTF-8")
end
info msg.gsub(/^/, '~> ')
end
|
#substatus(msg) ⇒ Object
43
44
45
|
# File 'lib/engineyard-serverside/shell.rb', line 43
def substatus(msg)
debug msg.gsub(/^/, ' ~ ')
end
|
#unknown(msg) ⇒ Object
53
|
# File 'lib/engineyard-serverside/shell.rb', line 53
def unknown(msg) logger.unknown msg end
|
#verbose? ⇒ Boolean
27
28
29
|
# File 'lib/engineyard-serverside/shell.rb', line 27
def verbose?
@verbose
end
|
#warning(msg) ⇒ Object
49
|
# File 'lib/engineyard-serverside/shell.rb', line 49
def warning(msg) logger.warn "WARNING: #{msg}" end
|