class 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.
Calls superclass method
# File lib/foreman/cli.rb, line 31 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 71 def check check_procfile! engine.load_procfile(procfile) puts "valid procfile detected (#{engine.process_names.join(', ')})" rescue Foreman::Procfile::EmptyFileError error "no processes defined" end
engine()
click to toggle source
# File lib/foreman/cli.rb, line 122 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 59 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, Foreman::Procfile::EmptyFileError => ex error ex.message end
run(*args)
click to toggle source
# File lib/foreman/cli.rb, line 84 def run(*args) load_environment! if File.file?(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 trap("INT") do Process.kill(:INT, pid) end Process.wait(pid) exit $?.exitstatus || 0 rescue Interrupt rescue Foreman::Procfile::EmptyFileError error "no processes defined" end
start(process=nil)
click to toggle source
# File lib/foreman/cli.rb, line 37 def start(process=nil) check_procfile! load_environment! engine.load_procfile(procfile) engine.options[:formation] = "#{process}=1" if process engine.start rescue Foreman::Procfile::EmptyFileError error "no processes defined" end
version()
click to toggle source
# File lib/foreman/cli.rb, line 117 def version puts Foreman::VERSION end