Class: Shell::Options

Inherits:
Object show all
Includes:
Mixlib::CLI
Defined in:
lib/chef/shell.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details



202
203
204
205
# File 'lib/chef/shell.rb', line 202

def self.footer(text=nil)
  @footer = text if text
  @footer
end


276
277
278
279
280
281
282
283
284
# File 'lib/chef/shell.rb', line 276

def self.print_help
  instance = new
  instance.parse_options([])
  puts instance.opt_parser
  puts
  puts footer
  puts
  exit 1
end

.setup!Object



286
287
288
# File 'lib/chef/shell.rb', line 286

def self.setup!
  self.new.parse_opts
end

Instance Method Details

#parse_optsObject



290
291
292
293
294
295
296
297
298
299
300
301
# File 'lib/chef/shell.rb', line 290

def parse_opts
  remainder = parse_options
  environment = remainder.first
  # We have to nuke ARGV to make sure irb's option parser never sees it.
  # otherwise, IRB complains about command line switches it doesn't recognize.
  ARGV.clear
  config[:config_file] = config_file_for_shell_mode(environment)
  config_msg = config[:config_file] || "none (standalone session)"
  puts "loading configuration: #{config_msg}"
  Chef::Config.from_file(config[:config_file]) if !config[:config_file].nil? && File.exists?(config[:config_file]) && File.readable?(config[:config_file])
  Chef::Config.merge!(config)
end