Class: OpenNebula::HookPool

Inherits:
Pool show all
Defined in:
lib/opennebula/hook_pool.rb

Overview

Class representing a HookPool

Constant Summary collapse

HOOK_POOL_METHODS =

Constants and Class attribute accessors

{
    :info => 'hookpool.info'
}

Constants inherited from Pool

Pool::INFO_ALL, Pool::INFO_GROUP, Pool::INFO_MINE, Pool::INFO_PRIMARY_GROUP, Pool::PAGINATED_POOLS

Instance Attribute Summary

Attributes inherited from Pool

#element_name, #pool_name

Instance Method Summary collapse

Methods inherited from Pool

#each, #each_page, #each_page_delete, #each_with_xpath, #get_hash, #get_page, #info_paginated, #is_paginated?, #loop_page, #to_str

Methods inherited from XMLPool

#each_element

Methods inherited from XMLElement

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

Constructor Details

#initialize(client, user_id = -1)) ⇒ HookPool

client a Client object that represents an XML-RPC connection user_id used to refer to a Pool with Templates from that user



38
39
40
41
42
# File 'lib/opennebula/hook_pool.rb', line 38

def initialize(client, user_id = -1)
    super('HOOK_POOL', 'HOOK', client)

    @user_id = user_id
end

Instance Method Details

#factory(element_xml) ⇒ Object

Factory method to create Template objects



45
46
47
# File 'lib/opennebula/hook_pool.rb', line 45

def factory(element_xml)
    OpenNebula::Hook.new(element_xml, @client)
end

#info(*args) ⇒ Object Also known as: info!

Retrieves all or part of the Templates in the pool.



54
55
56
57
58
59
60
61
# File 'lib/opennebula/hook_pool.rb', line 54

def info(*args)
    case args.size
    when 0
        info_filter(HOOK_POOL_METHODS[:info], @user_id, -1, -1)
    when 3
        info_filter(HOOK_POOL_METHODS[:info], args[0], args[1], args[2])
    end
end

#info_allObject Also known as: info_all!



63
64
65
# File 'lib/opennebula/hook_pool.rb', line 63

def info_all
    super(HOOK_POOL_METHODS[:info])
end

#info_groupObject Also known as: info_group!



71
72
73
# File 'lib/opennebula/hook_pool.rb', line 71

def info_group
    super(HOOK_POOL_METHODS[:info])
end

#info_mineObject Also known as: info_mine!



67
68
69
# File 'lib/opennebula/hook_pool.rb', line 67

def info_mine
    super(HOOK_POOL_METHODS[:info])
end