Class: Dopi::Node
Instance Attribute Summary collapse
-
#node_info ⇒ Object
Returns the value of attribute node_info.
Instance Method Summary collapse
- #address(port) ⇒ Object
- #addresses ⇒ Object
-
#initialize(node_parser, plan) ⇒ Node
constructor
A new instance of Node.
- #reset_address(port = nil) ⇒ Object
Constructor Details
#initialize(node_parser, plan) ⇒ Node
Returns a new instance of Node.
16 17 18 19 20 21 |
# File 'lib/dopi/node.rb', line 16 def initialize(node_parser, plan) @node_parser = node_parser @plan = plan @addresses = {} @node_info = {} end |
Instance Attribute Details
#node_info ⇒ Object
Returns the value of attribute node_info.
14 15 16 |
# File 'lib/dopi/node.rb', line 14 def node_info @node_info end |
Instance Method Details
#address(port) ⇒ Object
39 40 41 42 |
# File 'lib/dopi/node.rb', line 39 def address(port) @addresses[port] ||= addresses.find {|addr| connection_possible?(addr,port)} or raise NodeConnectionError, "Unable to establish a connection for node #{name} on port #{port} over #{addresses.join(', ')}" end |
#addresses ⇒ Object
35 36 37 |
# File 'lib/dopi/node.rb', line 35 def addresses [ fqdn, plan_ip_addresses, node_info_ip_addresses ].flatten.uniq end |
#reset_address(port = nil) ⇒ Object
44 45 46 |
# File 'lib/dopi/node.rb', line 44 def reset_address(port = nil) port.nil? ? @addresses = {} : @addresses.delete(port) end |