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