Class: Ovirt::Api

Inherits:
Base
  • Object
show all
Defined in:
lib/ovirt/api.rb

Instance Attribute Summary

Attributes inherited from Base

#attributes, #operations, #relationships, #service

Class Method Summary collapse

Methods inherited from Base

#[], all, all_xml_objects, #api_endpoint, api_endpoint, #class_suffix, create_from_xml, #destroy, element_name, element_names, find_by_href, find_by_id, find_by_name, has_first_node?, hash_from_id_and_href, href_from_creation_status_link, #initialize, #keys, #method_missing, object_to_id, #operation, parse_attribute, parse_boolean, parse_first_node, parse_first_node_with_hash, parse_first_text, parse_xml, #relationship, #reload, #replace, set_value, #update, #update!, xml_to_actions, xml_to_hash, xml_to_nokogiri, xml_to_relationships

Methods included from Logging

#logger

Constructor Details

This class inherits a constructor from Ovirt::Base

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class Ovirt::Base

Class Method Details

.parse_node_extended(node, hash) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/ovirt/api.rb', line 3

def self.parse_node_extended(node, hash)
  parse_first_node(node, :product_info, hash,
                   :node => [:name, :vendor, :full_version])

  parse_first_node_with_hash(node, 'product_info/version', hash[:product_info][:version] = {},
                             :attribute => [:major, :minor, :build, :revision])

  hash[:summary] = {}
  [:vms, :hosts, :users, :storage_domains].each do |type|
    parse_first_node_with_hash(node, "summary/#{type}", hash[:summary][type] = {},
                               :node_to_i => [:total, :active])
  end

  hash[:special_objects] = {}
  node.xpath('special_objects/link').each do |link|
    hash[:special_objects][link['rel'].to_sym] = link['href']
  end

  # There should not be any actions defined on the api
  hash.delete(:actions) if hash[:actions].empty?
end