class Specinfra::Runner

Rewrite the runner to use the appropriate backend based upon platform information

Public Class Methods

method_missing(meth, *args) click to toggle source
# File lib/beaker-rspec/helpers/serverspec.rb, line 117
def self.method_missing(meth, *args)
  backend = Specinfra.backend
  node = get_working_node
  if !node['platform'].include?('windows')
    processor = Specinfra::Processor
    if processor.respond_to?(meth)
      processor.send(meth, *args)
    elsif backend.respond_to?(meth)
      backend.send(meth, *args)
    else
      run(meth, *args)
    end
  elsif backend.respond_to?(meth)
    backend.send(meth, *args)
  else
    run(meth, *args)
  end
end
run(meth, *args) click to toggle source
# File lib/beaker-rspec/helpers/serverspec.rb, line 136
def self.run(meth, *args)
  backend = Specinfra.backend
  cmd = Specinfra.command.get(meth, *args)
  backend = Specinfra.backend
  ret = backend.run_command(cmd)
  if meth.to_s.start_with?('check')
    ret.success?
  else
    ret
  end
end