Module: Plunger::Command

Defined in:
lib/plunger/command.rb,
lib/plunger/command/push.rb,
lib/plunger/command/upgrade.rb,
lib/plunger/command/configure.rb

Defined Under Namespace

Classes: Configure, Push, Upgrade

Class Method Summary collapse

Class Method Details

.autorunObject



14
15
16
17
18
# File 'lib/plunger/command.rb', line 14

def autorun
  names.each do |name|
    run(name, {}) if command_class(name).autorun?
  end
end

.classesObject



10
11
12
# File 'lib/plunger/command.rb', line 10

def classes
  @classes ||= self.names.map { |name| command_class(name) }
end

.command_class(name) ⇒ Object



24
25
26
# File 'lib/plunger/command.rb', line 24

def command_class(name)
  Plunger::Command.const_get(Utils.camelize(name))
end

.namesObject



6
7
8
# File 'lib/plunger/command.rb', line 6

def names
  %w(push upgrade configure)
end

.run(name, options) ⇒ Object



20
21
22
# File 'lib/plunger/command.rb', line 20

def run(name, options)
  command_class(name).new.run(options)
end

.spawn_result(command) ⇒ Object



32
33
34
35
36
# File 'lib/plunger/command.rb', line 32

def spawn_result(command)
  result = `#{command}`
  $?.success? or abort
  result
end

.uiObject



28
29
30
# File 'lib/plunger/command.rb', line 28

def ui
  @ui ||= Gem::ConsoleUI.new
end