Class: Bcome::Node::Resources::Inventory
- Inherits:
-
Base
- Object
- Base
- Bcome::Node::Resources::Inventory
show all
- Defined in:
- lib/objects/node/resources/inventory.rb
Instance Attribute Summary
Attributes inherited from Base
#nodes
Instance Method Summary
collapse
Methods inherited from Base
#active, #clear!, #disable, #disable!, #do_disable, #do_enable, #each, #empty?, #enable, #enable!, #first, #for_identifier, #has_active_nodes?, #initialize, #is_active_resource?, #size
Instance Method Details
#<<(node) ⇒ Object
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
# File 'lib/objects/node/resources/inventory.rb', line 3
def <<(node)
if existing_node = for_identifier(node.identifier)
if existing_node.static_server? && node.dynamic_server?
@nodes.delete(existing_node)
else
duplicate_nodes[node.identifier] = duplicate_nodes[node.identifier] ? (duplicate_nodes[node.identifier] + 1) : 2
count = duplicate_nodes[node.identifier]
node.identifier = "#{node.identifier}_#{count}"
end
end
@nodes << node
end
|
#duplicate_nodes ⇒ Object
29
30
31
|
# File 'lib/objects/node/resources/inventory.rb', line 29
def duplicate_nodes
@duplicate_nodes ||= {}
end
|
#dynamic_nodes ⇒ Object
37
38
39
|
# File 'lib/objects/node/resources/inventory.rb', line 37
def dynamic_nodes
active.select(&:dynamic_server?)
end
|
#rename_initial_duplicate ⇒ Object
22
23
24
25
26
27
|
# File 'lib/objects/node/resources/inventory.rb', line 22
def rename_initial_duplicate
duplicate_nodes.each do |node_identifier, count|
node = for_identifier(node_identifier)
node.identifier = "#{node.identifier}_1"
end
end
|
#reset_duplicate_nodes! ⇒ Object
33
34
35
|
# File 'lib/objects/node/resources/inventory.rb', line 33
def reset_duplicate_nodes!
@duplicate_nodes = {}
end
|
#should_rename_initial_duplicate? ⇒ Boolean
18
19
20
|
# File 'lib/objects/node/resources/inventory.rb', line 18
def should_rename_initial_duplicate?
return true
end
|
#unset! ⇒ Object
41
42
43
|
# File 'lib/objects/node/resources/inventory.rb', line 41
def unset!
@nodes = []
end
|