Class: OpenNebula::XMLPool

Inherits:
XMLElement show all
Defined in:
lib/OpenNebula/XMLUtils.rb

Overview

The XMLUtilsPool module provides an abstraction of the underlying XML parser engine. It provides XML-related methods for the Pools

Direct Known Subclasses

Pool

Instance Method Summary collapse

Methods inherited from XMLElement

#[], #add_element, #attr, build_xml, #delete_element, #each, #each_xpath, #has_elements?, #initialize_xml, #name, #retrieve_elements, #template_like_str, #template_str, #template_xml, #text, #to_hash, #to_xml

Constructor Details

#initialize(xml = nil) ⇒ XMLPool

Returns a new instance of XMLPool.



378
379
380
# File 'lib/OpenNebula/XMLUtils.rb', line 378

def initialize(xml=nil)
    super(xml)
end

Instance Method Details

#each_element(block) ⇒ Object

Executes the given block for each element of the Pool

block

Block



384
385
386
387
388
389
390
391
392
393
394
395
396
# File 'lib/OpenNebula/XMLUtils.rb', line 384

def each_element(block)
    if NOKOGIRI
        @xml.xpath(
            "#{@element_name}").each {|pelem|
            block.call self.factory(pelem)
        }
    else
        @xml.elements.each(
            "#{@element_name}") {|pelem|
            block.call self.factory(pelem)
        }
    end
end