Zerigo records and zones were setting a TTL of 3600 on the model if no
TTL was set in the response. On first glance this seems like A Good
Thing - yes we want a default TTL! However, it masks the fact that a
record might have no TTL set on it and is using the default TTL from the
zone. If you're trying to use the model to determine if the TTL is set
to some value (say 3600), but the value defaults to 3600 if it isn't
set, then you have no way of knowing if it's right or not.
This change forces you to set a TTL if you're performing an operation
that requires one (#save).
For Zerigo accounts with more than 100 domains, the previous zones.all
method was unable to get to records beyond 100. This adds pagination per
the Zerigo API doc with :per_page and :page parameters. You can then use
count_zones to get the total zone count, divide by your :per_page, and
iterate over all pages to fetch all your zones.
https://www.zerigo.com/docs/apis/dns/1.1/zones/index
In many places we were checking for identity which was the shorthand for
checking if the resource had been saved by the service.
The #persisted? method was added to show a clearer intent and also offer
minimal ActiveModel interface