lib/veewee/provider/virtualbox/box/helper/status.rb in veewee-0.3.4 vs lib/veewee/provider/virtualbox/box/helper/status.rb in veewee-0.3.5

- old
+ new

@@ -2,26 +2,28 @@ module Provider module Virtualbox module BoxCommand def exists? - command="#{@vboxcmd} list vms" - shell_results=shell_exec("#{command}",{:mute => true}) - exists=shell_results.stdout.split(/\n/).grep(/\"#{name}\"/).size!=0 - - env.logger.info("Vm exists? #{exists}") - return exists + return check?(:exists) end def running? - command="#{@vboxcmd} list runningvms" + return check?(:running) + end + + private + + def check? type + command = COMMANDS[type] % @vboxcmd shell_results=shell_exec("#{command}",{:mute => true}) - running=shell_results.stdout.split(/\n/).grep(/\"#{name}\"/).size!=0 + status=shell_results.stdout.split(/\n/).grep(/\"#{Regexp.escape(name)}\"/).size!=0 - env.logger.info("Vm running? #{running}") - return running + env.logger.info("Vm #{type}? #{status}") + return status end + COMMANDS = { :running => "%s list runningvms", :exists => "%s list vms" } end end end end