Sha256: 641c63b8c6a3d133d1f1f2786c23f1443417e725b2e5e923d480ad50e99c4385

Contents?: true

Size: 962 Bytes

Versions: 2

Compression:

Stored size: 962 Bytes

Contents

require 'dnsruby'

module Dnsmadeeasy_verify

  class Domain
    include Dnsruby

    attr_accessor :name

    def initialize(name)
      @name = name
    end

    def available
      @whois ||= Whois.whois(@name)
      @whois.available?
    end

    def registered
      @whois ||= Whois.whois(@name)
      @whois.registered?
    end

    def do_name_servers_contain(domain)
      name_servers = get_name_servers
      return name_servers.any?{ |s| s.downcase().include?(domain) }
    end

    def get_name_servers
      ns = []
      res = Dnsruby::Resolver.new
      res.retry_times=(2)
      ns_req = nil
      begin
        ns_req = res.query(@name, "NS")
      rescue Exception => e
        return []
      end
      if (ns_req.header.ancount == 0)
        return []
      end

      ns_req = res.query(@name, "NS")
      (ns_req.answer.select {|r| r.type == "NS"}).each do |nsrr|
        ns << nsrr.domainname.to_s
      end

      ns
    end

  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dnsmadeeasy_verify-0.0.3 lib/dnsmadeeasy_verify/domain.rb
dnsmadeeasy_verify-0.0.2 lib/dnsmadeeasy_verify/domain.rb