class Chef::Knife::ChopUI
Attributes
logger[R]
Public Class Methods
new(logger, config)
click to toggle source
Calls superclass method
# File lib/chef/knife/chop/ui.rb, line 29 def initialize(logger, config) super($stdout, $stderr, $stdin, config) @logger = logger #define_ui_methods() end
Public Instance Methods
err(message)
click to toggle source
# File lib/chef/knife/chop/ui.rb, line 63 def err(message) error(message) end
error(message)
click to toggle source
Print an error message
# File lib/chef/knife/chop/ui.rb, line 73 def error(message) msg(message) end
fatal(message)
click to toggle source
Print a message describing a fatal error.
# File lib/chef/knife/chop/ui.rb, line 78 def fatal(message) msg(message) end
info(message)
click to toggle source
def define_ui_methods()
class << self ::Logging::LEVELS.each{|name,level| code = <<-CODE def #{name}(str) msg(str) end CODE self.class.class_eval(code,__FILE__,__LINE__) } end
end
# File lib/chef/knife/chop/ui.rb, line 55 def info(message) msg(message) end
method_missing(name, *args, &block)
click to toggle source
# File lib/chef/knife/chop/ui.rb, line 82 def method_missing(name, *args, &block) msg = "#{self.class.name}: Method missing: #{name}" @logger.fatal(msg) raise ChopInternalError.new(msg) end
msg(message)
click to toggle source
def define_log_methods( ui )
# File lib/chef/knife/chop/ui.rb, line 36 def msg(message) caller = Kernel.caller[0] match = caller.match(%r/([-\.\/\(\)\w]+):(\d+)(?::in `(\w+)')?/o) name = shifted(match[3]) @logger.send(name, message) end
shifted(name)
click to toggle source
# File lib/chef/knife/chop/ui.rb, line 88 def shifted(name) name = 'info' unless ::Logging::LEVELS.has_key?(name) num = ::Logging::LEVELS[name]+1 case name when 'todo' 'error' when 'err' 'error' # when 'info' # 'debug' when 'debug' 'trace' else name end end
step(message)
click to toggle source
# File lib/chef/knife/chop/ui.rb, line 59 def step(message) msg(message) end
warn(message)
click to toggle source
Print a warning message
# File lib/chef/knife/chop/ui.rb, line 68 def warn(message) msg(message) end