class Specinfra::CommandFactory

Public Class Methods

get_windows_cmd(meth, *args) click to toggle source

Force creation of a windows command

# File lib/beaker-rspec/helpers/serverspec.rb, line 92
def get_windows_cmd(meth, *args)
  action, resource_type, subaction = breakdown(meth)
  method =  action
  method += "_#{subaction}" if subaction

  common_class = Specinfra::Command
  base_class = common_class.const_get(:Base)
  os_class = common_class.const_get(:Windows)
  version_class = os_class.const_get(:Base)
  command_class = version_class.const_get(resource_type.to_camel_case)

  command_class = command_class.create
  unless command_class.respond_to?(method)
    raise NotImplementedError,
          "#{method} is not implemented in #{command_class}"
  end

  command_class.send(method, *args)
end