class Bcome::Node::Resources::Inventory
Public Class Methods
new(inventory)
click to toggle source
Calls superclass method
Bcome::Node::Resources::Base::new
# File lib/objects/node/resources/inventory.rb, line 5 def initialize(inventory) @inventory = inventory super end
Public Instance Methods
<<(node)
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 22 def <<(node) set_overrides(@inventory, node) if existing_node = for_identifier(node.identifier) if existing_node.static_server? && node.dynamic_server? # We've got a duplicate, but we'll treat the remote node as authoritative # We remove the static server from our selection @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()
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 50 def duplicate_nodes @duplicate_nodes ||= {} end
dynamic_nodes()
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 58 def dynamic_nodes active.select(&:dynamic_server?) end
override_server_identifier(inventory, node)
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 15 def override_server_identifier(inventory, node) if inventory.override_server_identifier? node.identifier =~ /#{inventory.override_identifier}/ node.update_identifier(Regexp.last_match(1)) if Regexp.last_match(1) end end
rename_initial_duplicate()
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 43 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!()
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 54 def reset_duplicate_nodes! @duplicate_nodes = {} end
set_overrides(inventory, node)
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 10 def set_overrides(inventory, node) override_server_identifier(inventory, node) node.set_network_configuration_overrides end
should_rename_initial_duplicate?()
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 39 def should_rename_initial_duplicate? true end
unset!()
click to toggle source
# File lib/objects/node/resources/inventory.rb, line 62 def unset! @nodes = [] end