Sha256: 4b71db3df4b464c9718da8c1f4ee556b0339e5f539533bd64b8c6c62d38d9ab4
Contents?: true
Size: 736 Bytes
Versions: 2
Compression:
Stored size: 736 Bytes
Contents
require 'oscar' require 'ipaddress' class Oscar::Networking def initialize(yaml_config) range = yaml_config["pool"] @domainname = yaml_config["domainname"] @network = IPAddress.parse(range) @pool = [] @nodes = {} @network.each_host { |h| @pool << h } @iterator = @pool.each end def register(node) next_addr = @iterator.next.to_s node.networking = self node.address = next_addr @nodes[next_addr] = node end def hosts_for(node) arr = [] arr << ['127.0.0.1', ['localhost']] arr << ['127.0.1.1', ["#{node.name}.#{@domainname}", node.name]] @nodes.each_pair { |address, n| arr << [address, [n.name, "#{n.name}.#{@domainname}"]] } arr end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
oscar-0.2.0alpha5 | lib/oscar/networking.rb |
oscar-0.2.0alpha3 | lib/oscar/networking.rb |