module WriteConf
Public Class Methods
set_data(net)
click to toggle source
# File lib/dhcp_parser/writeconf.rb, line 31 def self.set_data(net) data = "subnet #{net.subnet} netmask #{net.netmask} {\n" max = 0 net.option.each_key do |key| if key.length > max max = key.length end end # set option space = 9 net.option.each do |key, value| totalspace = "" (max - key.length + space).times do totalspace << "\s" end data += "\s\soption #{key}#{totalspace} #{value};\n" end # set differ net.differ.each do |key, value| if key == "authoritative" if value data += "\s\s#{key};\n" end else data += "\s\s#{key}\s\s\s\s\s\s\s\s\s#{value};\n" end end # set pool data += "\s\spool {\n" net.pool.each do |key, value| if key.eql?("range") data += "\s\s\s\srange #{value["min"]} #{value["max"]};\n" elsif key.eql?("hosts") value.each do |h| data += "\s\s\s\shost #{h.host} {\n" data += "\s\s\s\s\s\shardware ethernet #{h.hardware_ethernet};\n" data += "\s\s\s\s\s\sfixed-address #{h.fixed_address};\n" data += "\s\s\s\s}\n" end elsif !value.nil? && !value.empty? data += "\s\s\s\s#{key} #{value};\n" end end data += "\s\s}\n" data += "}\n\n" return data end
test(file_name)
click to toggle source
# File lib/dhcp_parser/writeconf.rb, line 25 def self.test(file_name) file = File.open("#{file_name}","w+") do |file| file.write("test") end end
write_file_conf(file_name,nets,condition)
click to toggle source
# File lib/dhcp_parser/writeconf.rb, line 3 def self.write_file_conf(file_name,nets,condition) if nets.nil? return false else data = "" nets.each do |net| data += WriteConf.set_data(net) end if condition file = File.open("#{file_name}","a+") file.puts(data) file.close return true else file = File.open("#{file_name}","w+") file.write(data) file.close return true end end end