Parent

Included Modules

Foreman::CLI

Public Class Methods

is_thor_reserved_word?(word, type) click to toggle source

Hackery. Take the run method away from Thor so that we can redefine it.

# File lib/foreman/cli.rb, line 30
def is_thor_reserved_word?(word, type)
  return false if word == "run"
  super
end

Public Instance Methods

check() click to toggle source
# File lib/foreman/cli.rb, line 66
def check
  check_procfile!
  engine.load_procfile(procfile)
  error "no processes defined" unless engine.processes.length > 0
  puts "valid procfile detected (#{engine.process_names.join(', ')})"
end
engine() click to toggle source
# File lib/foreman/cli.rb, line 109
def engine
  @engine ||= begin
    engine_class = Foreman::Engine::CLI
    engine = engine_class.new(options)
    engine
  end
end
export(format, location=nil) click to toggle source
# File lib/foreman/cli.rb, line 54
def export(format, location=nil)
  check_procfile!
  load_environment!
  engine.load_procfile(procfile)
  formatter = Foreman::Export.formatter(format)
  formatter.new(location, engine, options).export
rescue Foreman::Export::Exception => ex
  error ex.message
end
run(*args) click to toggle source
# File lib/foreman/cli.rb, line 77
def run(*args)
  load_environment!

  if File.exist?(procfile)
    engine.load_procfile(procfile)
  end

  pid = fork do
    begin
      engine.env.each { |k,v| ENV[k] = v }
      if args.size == 1 && process = engine.process(args.first)
        process.exec(:env => engine.env)
      else
        exec args.shelljoin
      end
    rescue Errno::EACCES
      error "not executable: #{args.first}"
    rescue Errno::ENOENT
      error "command not found: #{args.first}"
    end
  end
  Process.wait(pid)
  exit $?.exitstatus
end
start(process=nil) click to toggle source
# File lib/foreman/cli.rb, line 36
def start(process=nil)
  check_procfile!
  load_environment!
  engine.load_procfile(procfile)
  engine.options[:formation] = "#{process}=1" if process
  engine.start
end
version() click to toggle source
# File lib/foreman/cli.rb, line 104
def version
  puts Foreman::VERSION
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.