# VirtualBox Ruby Gem The VirtualBox ruby gem is a library which allows anyone to control VirtualBox from ruby code! Create, destroy, start, stop, suspend, and resume virtual machines. Also list virtual machines, list hard drives, network devices, etc. ## Installation and Requirements First you need to install [VirtualBox](http://www.virtualbox.org/) which is available for Windows, Linux, and OS X. After installation, install the gem: sudo gem install virtualbox The gem uses the native COM interface with VirtualBox provides to communicate with VirtualBox. On Windows, this is globally available. On Linux-based machines, the gem uses Ruby-FFI to talk to a dynamic library. No configuration should be necessary. ## Basic Usage The virtualbox gem is modeled after ActiveRecord. If you've used ActiveRecord, you'll feel very comfortable using the virtualbox gem. There is a [quick getting started guide](http://mitchellh.github.com/virtualbox/file.GettingStarted.html) to get you acquainted with the conventions of the virtualbox gem. Complete documentation can be found at [http://mitchellh.github.com/virtualbox](http://mitchellh.github.com/virtualbox). Below are some examples: require 'virtualbox' vm = VirtualBox::VM.find("my-vm") # Let's first print out some basic info about the VM puts "Memory: #{vm.memory_size}" # Let's modify the memory and name... vm.memory_size = 360 vm.name = "my-renamed-vm" # Save it! vm.save ## Known Issues or Uncompleted Features VirtualBox has a _ton_ of features! As such, this gem is still not totally complete. You can see the features that are still left to do in the TODO file. ## Reporting Bugs or Feature Requests Please use the [issue tracker](https://github.com/mitchellh/virtualbox/issues). ## Contributing If you'd like to contribute to VirtualBox, the first step to developing is to clone this repo, get [bundler](http://github.com/carlhuda/bundler) if you don't have it already, and do the following: bundle install bundle lock rake This will run the test suite, which should come back all green! Then you're good to go! ## Special Thanks These folks went above and beyond with contributions to the virtualbox gem, and for that, I have to say "thanks!" * [Kieran Pilkington](http://github.com/KieranP) * [Aleksey Palazhchenko](http://github.com/AlekSi)