Module: Loopiator::Dns

Included in:
Client
Defined in:
lib/loopiator/dns.rb

Instance Method Summary collapse

Instance Method Details

#add_zone_record(domain, subdomain, record_obj, customer_number: "") ⇒ Object



21
22
23
24
# File 'lib/loopiator/dns.rb', line 21

def add_zone_record(domain, subdomain, record_obj, customer_number: "")
  response        =   parse_status_response(call("addZoneRecord", customer_number, encode_domain(domain), subdomain, record_obj))
  return response.eql?(:ok)
end

#get_zone_records(domain, subdomain, customer_number: "") ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/loopiator/dns.rb', line 4

def get_zone_records(domain, subdomain, customer_number: "")
  records         =   []
  response        =   call("getZoneRecords", customer_number, encode_domain(domain), subdomain)
  
  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

#remove_zone_record(domain, subdomain, record_id, customer_number: "") ⇒ Object



26
27
28
29
# File 'lib/loopiator/dns.rb', line 26

def remove_zone_record(domain, subdomain, record_id, customer_number: "")
  response        =   parse_status_response(call("removeZoneRecord", customer_number, encode_domain(domain), subdomain, record_id))
  return response.eql?(:ok)
end