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