lib/rubber/dns/zerigo.rb in rubber-1.3.2 vs lib/rubber/dns/zerigo.rb in rubber-1.5.0

- old
+ new

@@ -1,8 +1,14 @@ require 'rubygems' -require 'zerigo_dns' +begin + require 'zerigo_dns' +rescue LoadError + puts "Missing the zerigo_dns gem. Install with `sudo gem install zerigo_dns`." + exit(-1) +end + module Rubber module Dns class Zerigo < Base @@ -90,17 +96,17 @@ end end def update_host_record(old_opts={}, new_opts={}) old_opts = setup_opts(old_opts, [:host, :domain]) - new_opts = setup_opts(new_opts.merge(:no_defaults =>true), []) + new_opts = setup_opts(new_opts, [:host, :domain, :type, :data]) zone = ::Zerigo::DNS::Zone.find_or_create(old_opts[:domain]) find_hosts(old_opts).each do |h| opts_to_host(new_opts).each do |k, v| h.send("#{k}=", v) end - h.save || raise("Failed to update host #{h.hostname}") + h.save || raise("Failed to update host #{h.hostname}, #{h.errors.full_messages.join(', ')}") end end end