Module: Fog::Libvirt::Util

Included in:
Compute::Network, Compute::Server, Compute::Shared, Compute::Volume
Defined in:
lib/fog/libvirt/models/compute/util/uri.rb,
lib/fog/libvirt/models/compute/util/util.rb

Defined Under Namespace

Classes: URI

Instance Method Summary collapse

Instance Method Details

#randomized_nameObject



27
28
29
# File 'lib/fog/libvirt/models/compute/util/util.rb', line 27

def randomized_name
  "fog-#{(SecureRandom.random_number*10E14).to_i.round}"
end

#to_xml(template_name = nil) ⇒ Object



19
20
21
22
23
24
25
# File 'lib/fog/libvirt/models/compute/util/util.rb', line 19

def to_xml template_name = nil
  # figure out our ERB template filename
  erb = template_name || self.class.to_s.split("::").last.downcase
  path     = File.join(File.dirname(__FILE__), "..", "templates", "#{erb}.xml.erb")
  template = File.read(path)
  ERB.new(template, nil, '-').result(binding)
end

#xml_element(xml, path, attribute = nil) ⇒ Object



9
10
11
12
# File 'lib/fog/libvirt/models/compute/util/util.rb', line 9

def xml_element(xml, path, attribute=nil)
  xml = Nokogiri::XML(xml)
  attribute.nil? ? (xml/path).first.text : (xml/path).first[attribute.to_sym]
end

#xml_elements(xml, path, attribute = nil) ⇒ Object



14
15
16
17
# File 'lib/fog/libvirt/models/compute/util/util.rb', line 14

def xml_elements(xml, path, attribute=nil)
   xml = Nokogiri::XML(xml)
   attribute.nil? ? (xml/path).map : (xml/path).map{|element| element[attribute.to_sym]}
end