class Proxy::DHCP::RemoteISC::SubnetServiceInitializer

Attributes

config_file[R]
leases_path[R]
parser[R]
service[R]

Public Class Methods

new(config_file, leases_file_path, isc_config_file_parser, subnet_service) click to toggle source
# File lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb, line 10
def initialize(config_file, leases_file_path, isc_config_file_parser, subnet_service)
  @config_file = config_file
  @leases_path = leases_file_path
  @parser = isc_config_file_parser
  @service = subnet_service
end

Public Instance Methods

hosts_and_leases_from_config(subnet_service, config_file) click to toggle source
# File lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb, line 30
def hosts_and_leases_from_config(subnet_service, config_file)
  parser.parse_config_and_leases_for_records(subnet_service, config_file.read)
end
hosts_and_leases_from_leases(subnet_service, path) click to toggle source
# File lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb, line 34
def hosts_and_leases_from_leases(subnet_service, path)
  fd = File.open(File.expand_path(path), "r")
  parser.parse_config_and_leases_for_records(subnet_service, fd.read)
ensure
  fd.close unless fd.nil?
end
initialized_subnet_service() click to toggle source
# File lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb, line 17
def initialized_subnet_service
  load_subnets

  update_subnet_service_with_dhcp_records(hosts_and_leases_from_config(service, config_file))
  update_subnet_service_with_dhcp_records(hosts_and_leases_from_leases(service, leases_path))

  service
end
load_subnets() click to toggle source
# File lib/smart_proxy_dhcp_remote_isc/subnet_service_initializer.rb, line 26
def load_subnets
  service.add_subnets(*config_file.subnets)
end