class Prepp::Command

Attributes

results[RW]

Public Class Methods

new(name, *dependencies, &block) click to toggle source
# File lib/prepp/commands/command.rb, line 4
def initialize(name, *dependencies, &block)
  @name = name.to_sym
  @dependencies = *dependencies
  @execute = []
  @verifiers = []

  @results = []

  instance_eval(&block)
end

Public Instance Methods

execute(command = nil, &block) click to toggle source
# File lib/prepp/commands/command.rb, line 17
def execute(command = nil, &block)
  @execute << (block_given? ? instance_eval(&block) : command)
end
to_s() click to toggle source
# File lib/prepp/commands/command.rb, line 25
def to_s
  build_ssh_command
end
verify(command = nil, &block) click to toggle source
# File lib/prepp/commands/command.rb, line 21
def verify(command = nil, &block)
  @verifiers << (block_given? ? instance_eval(&block) : command)
end

Private Instance Methods

build_ssh_command() click to toggle source
# File lib/prepp/commands/command.rb, line 31
def build_ssh_command
  [].tap do |cmd|
    cmd << @verifiers.join(' && ') unless @verifiers.empty?
    cmd << @execute.join(' && ') unless @execute.empty?
  end.join(' && ')
end