Class: Ovirt::Statistic

Inherits:
Base
  • Object
show all
Defined in:
lib/ovirt/statistic.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

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



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/ovirt/statistic.rb', line 5

def self.parse_node_extended(node, hash)
  values_node = node.xpath('values').first
  values_type = values_node['type']
  values      = values_node.xpath('value').collect do |v|
    datum = v.xpath('datum').text
    case values_type
    when 'INTEGER'
      datum = datum.to_i
    when 'DECIMAL'
      datum = datum.to_f
    else
      raise "unknown Values TYPE of <#{values_type}>"
    end
    datum
  end
  hash[:values] = values

  [:vm, :nic, :disk].each do |type|
    parent_node = node.xpath(type.to_s).first
    next if parent_node.nil?
    parent = hash_from_id_and_href(parent_node)
    parent[:type] = type
    hash[:parent] = parent
  end
end