54: def self.to_line(hash)
55: return super unless hash[:record_type] == :parsed
56: [:ip, :name].each do |n|
57: raise ArgumentError, "#{n} is a required attribute for hosts" unless hash[n] and hash[n] != :absent
58: end
59:
60: str = "#{hash[:ip]}\t#{hash[:name]}"
61:
62: if hash.include? :host_aliases and !hash[:host_aliases].empty?
63: if hash[:host_aliases].is_a? Array
64: str += "\t#{hash[:host_aliases].join("\t")}"
65: else
66: raise ArgumentError, "Host aliases must be specified as an array"
67: end
68: end
69:
70: str
71: end