Class: Ovirt::Snapshot

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

Instance Attribute Summary

Attributes inherited from Base

#attributes, #operations, #relationships, #service

Class Method Summary collapse

Instance 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, hash_from_id_and_href, href_from_creation_status_link, href_to_guid, #keys, #method_missing, object_to_id, #operation, parse_attribute, parse_boolean, parse_first_node, parse_first_node_with_hash, parse_first_text, #reload, #replace, set_value, top_level_booleans, top_level_booleans=, top_level_integers, top_level_integers=, top_level_objects, top_level_objects=, top_level_strings, top_level_strings=, top_level_timestamps, top_level_timestamps=, #update, #update!, xml_to_actions, xml_to_hash, xml_to_nokogiri, xml_to_relationships

Constructor Details

#initialize(service, options = {}) ⇒ Snapshot

Returns a new instance of Snapshot.



14
15
16
17
# File 'lib/ovirt/snapshot.rb', line 14

def initialize(service, options = {})
  super
  @relationships[:disks] = self[:href] + "/disks"
end

Dynamic Method Handling

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

Class Method Details

.parse_xml(xml) ⇒ Object



8
9
10
11
12
# File 'lib/ovirt/snapshot.rb', line 8

def self.parse_xml(xml)
  node, hash = xml_to_hash(xml)

  hash
end

Instance Method Details

#deleteObject



19
20
21
22
23
24
25
26
# File 'lib/ovirt/snapshot.rb', line 19

def delete
  response = destroy
  while self[:snapshot_status] == "locked" || self[:snapshot_status] == "ok"
    sleep 2
    break if (obj = self.class.find_by_href(@service, self[:href])).nil?
    self.replace(obj)
  end
end