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