class LinuxAdmin::Dns

Attributes

filename[RW]
nameservers[RW]
search_order[RW]

Public Class Methods

new(filename = "/etc/resolv.conf") click to toggle source
# File lib/linux_admin/dns.rb, line 7
def initialize(filename = "/etc/resolv.conf")
  @filename = filename
  reload
end

Public Instance Methods

reload() click to toggle source
# File lib/linux_admin/dns.rb, line 12
def reload
  @search_order = []
  @nameservers  = []

  File.read(@filename).split("\n").each do |line|
    if line =~ /^search .*/
      @search_order += line.split(/^search\s+/)[1].split
    elsif line =~ /^nameserver .*/
      @nameservers.push(line.split[1])
    end
  end
end
save() click to toggle source
# File lib/linux_admin/dns.rb, line 25
def save
  search  = "search #{@search_order.join(" ")}\n" unless @search_order.empty?
  servers = @nameservers.collect { |ns| "nameserver #{ns}\n" }.join
  File.write(@filename, "#{search}#{servers}")
end