class Construqt::Networks::Network
Public Class Methods
new(name)
click to toggle source
# File lib/construqt/networks.rb, line 5 def initialize(name) @name = name @networks = [] @domain = "construqt.org" @contact = "soa@construqt.org" @addresses = Construqt::Addresses.new(self) @dns_resolver = nil end
Public Instance Methods
add_blocks(*nets)
click to toggle source
# File lib/construqt/networks.rb, line 18 def add_blocks(*nets) nets.each do |net| @networks << IPAddress.parse(net) end end
addresses()
click to toggle source
# File lib/construqt/networks.rb, line 14 def addresses @addresses end
contact()
click to toggle source
# File lib/construqt/networks.rb, line 53 def contact @contact end
dns_resolver()
click to toggle source
# File lib/construqt/networks.rb, line 37 def dns_resolver @dns_resolver end
domain()
click to toggle source
# File lib/construqt/networks.rb, line 45 def domain @domain end
fqdn(name)
click to toggle source
def domain(name)
_fqdn = self.fqdn(name) _fqdn[_fqdn.index('.')+1..-1]
end
# File lib/construqt/networks.rb, line 62 def fqdn(name) throw "name must set" unless name _name = name.gsub(/[\s_\.]+/, '-') return "#{_name}.#{self.domain}" unless _name.include?('.') return _name end
networks()
click to toggle source
# File lib/construqt/networks.rb, line 24 def networks @networks end
set_contact(contact)
click to toggle source
# File lib/construqt/networks.rb, line 49 def set_contact(contact) @contact = contact end
set_dns_resolver(nameservers, search)
click to toggle source
# File lib/construqt/networks.rb, line 33 def set_dns_resolver(nameservers, search) @dns_resolver = OpenStruct.new :nameservers => nameservers, :search => search end
set_domain(domain)
click to toggle source
# File lib/construqt/networks.rb, line 41 def set_domain(domain) @domain = domain end
to_network(ip)
click to toggle source
# File lib/construqt/networks.rb, line 28 def to_network(ip) ret = (@networks.find{ |my| (ip.ipv6? == my.ipv6? && ip.ipv4? == my.ipv4?) && my.include?(ip) } || ip.network) ret end