Sha256: e6f3b946f00a80707c8c67c7dbbb560ef2a6964ebe9ae9945cd2f0fcd173cbef

Contents?: true

Size: 1.24 KB

Versions: 1

Compression:

Stored size: 1.24 KB

Contents

module Loopiator
  module Dns
        
    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
    
    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
    
    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
    
    private
      def encode_domain(domain_name)
        Loopiator::Utilities.encode_domain(domain_name)
      end
    
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
loopiator-0.4.2 lib/loopiator/dns.rb