lib/loopiator/dns.rb in loopiator-0.4.1 vs lib/loopiator/dns.rb in loopiator-0.4.2
- old
+ new
@@ -1,25 +1,31 @@
module Loopiator
module Dns
def get_zone_records(domain, subdomain, customer_number: "")
- records = []
- response = call("getZoneRecords", customer_number, encode_domain(domain), subdomain)
+ records = []
+ response = call("getZoneRecords", customer_number, encode_domain(domain), subdomain)
- response.each do |item|
- records << Loopiator::Models::DnsRecord.new(item)
- end if response && response.is_a?(Array)
+ if response && response.is_a?(Array) && response.any?
+ if response.first.is_a?(String) && response.first.downcase.to_sym.eql?(:rate_limited)
+ raise Loopiator::RateLimitError
+ else
+ response.each do |item|
+ records << Loopiator::Models::DnsRecord.new(item)
+ end
+ end
+ end
return records
end
def add_zone_record(domain, subdomain, record_obj, customer_number: "")
- response = parse_status_response(call("addZoneRecord", customer_number, encode_domain(domain), subdomain, record_obj))
+ response = parse_status_response(call("addZoneRecord", customer_number, encode_domain(domain), subdomain, record_obj))
return response.eql?(:ok)
end
def remove_zone_record(domain, subdomain, record_id, customer_number: "")
- response = parse_status_response(call("removeZoneRecord", customer_number, encode_domain(domain), subdomain, record_id))
+ response = parse_status_response(call("removeZoneRecord", customer_number, encode_domain(domain), subdomain, record_id))
return response.eql?(:ok)
end
private
def encode_domain(domain_name)