class Ohai::Application

Public Class Methods

exit!(msg, err = -1) click to toggle source
# File lib/ohai/application.rb, line 109
def exit!(msg, err = -1)
  Chef::Log.debug(msg)
  Process.exit err
end
fatal!(msg, err = -1) click to toggle source

Log a fatal error message to both STDERR and the Logger, exit the application

# File lib/ohai/application.rb, line 103
def fatal!(msg, err = -1)
  STDERR.puts("FATAL: #{msg}")
  Chef::Log.fatal(msg)
  Process.exit err
end
new() click to toggle source
Calls superclass method
# File lib/ohai/application.rb, line 59
def initialize
  super

  # Always switch to a readable directory. Keeps subsequent Dir.chdir() {}
  # from failing due to permissions when launched as a less privileged user.
  Dir.chdir("/")
end

Public Instance Methods

configure_logging() click to toggle source
# File lib/ohai/application.rb, line 83
def configure_logging
  Ohai::Log.init(Ohai::Config[:log_location])
  Ohai::Log.level = Ohai::Config[:log_level]
end
configure_ohai() click to toggle source
# File lib/ohai/application.rb, line 73
def configure_ohai
  @attributes = parse_options
  @attributes = nil if @attributes.empty?

  Ohai::Config.merge!(config)
  if Ohai::Config[:directory]
    Ohai::Config[:plugin_path] << Ohai::Config[:directory]
  end
end
run() click to toggle source
# File lib/ohai/application.rb, line 67
def run
  configure_ohai
  configure_logging
  run_application
end
run_application() click to toggle source
# File lib/ohai/application.rb, line 88
def run_application
  ohai = Ohai::System.new
  ohai.all_plugins(@attributes)

  if @attributes
    @attributes.each do |a|
      puts ohai.attributes_print(a)
    end
  else
    puts ohai.json_pretty_print
  end
end