What is ruby-libvirt?

ruby-libvirt provides Ruby bindings for libvirt. With them you can use libvirt directly from your Ruby programs:

require 'libvirt'

conn = Libvirt::open("qemu:///system")
puts conn.capabilities

conn.create_domain_xml(File.read("domain.xml"))

dom = conn.lookup_domain_by_name("mydomain")
dom.suspend
dom.resume
puts dom.xml_desc

To get a better idea of what's possible to achieve using ruby-libvirt, check out the examples that are part of the git repository and the full API reference.