Class: Foreman::CLI

### Home Classes Methods

### In Files

- lib/foreman/cli.rb

### Parent

Thor

### Methods

- ::is_thor_reserved_word?
- #check
- #engine
- #export
- #run
- #start
- #version

### Included Modules

- Foreman::Helpers

### Class/Module Index

Quicksearch

- Foreman
- Foreman::AppDoesNotExist
- Foreman::CLI
- Foreman::Distribution
- Foreman::Engine
- Foreman::Engine::CLI
- Foreman::Engine::CLI::Color
- Foreman::Export
- Foreman::Export::Base
- Foreman::Export::Bluepill
- Foreman::Export::Exception
- Foreman::Export::Inittab
- Foreman::Export::Launchd
- Foreman::Export::Runit
- Foreman::Export::Supervisord
- Foreman::Export::Upstart
- Foreman::Helpers
- Foreman::Process
- Foreman::Procfile

No matching classes.

# 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.