module DLDInternet::OpenSRS::API::NameServers::MixIns::Get::GetNameServers

Public Instance Methods

GetNameServers(domain=nil,cookiep=nil, attr='nameserver_list') click to toggle source

noinspection RubyUnnecessaryReturnValue

# File lib/dldinternet/opensrs/api/nameservers/mixins/get/getnameservers.rb, line 12
def GetNameServers(domain=nil,cookiep=nil, attr='nameserver_list')

  list = []
  limit = 25
  pn = 0
  pgnos = nil
  page = getnameserverspage(domain, cookiep || cookie(domain), nil, nil, limit)
  while page && page.is_a?(Hash)
    list += page[attr]
    pgnos ||= page['count'].to_i/limit
    if page['remainder'].eql?('1') && pn < pgnos
      pn += 1
      page = getdomainpage(domain, cookiep || cookie, nil, pn, limit)
    else
      page = nil
    end
  end
  list
end

Private Instance Methods

getnameserverspage(domain=nil,cookiep=nil,registrant_ip=nil, page=nil, limit=nil) click to toggle source

noinspection RubyUnnecessaryReturnValue

# File lib/dldinternet/opensrs/api/nameservers/mixins/get/getnameservers.rb, line 35
def getnameserverspage(domain=nil,cookiep=nil,registrant_ip=nil, page=nil, limit=nil)

  data = {
      object: 'nameserver',
      action: 'get',
      cookie: (cookiep || cookie(domain)),
      attributes: {
          name: 'all',
          domain: domain,
      },
  }
  data[:cookie]             = cookiep if cookiep
  data[:domain]             = domain if domain && !cookiep
  data[:registrant_ip]      = registrant_ip if registrant_ip
  data[:attributes][:limit] = limit if limit
  data[:attributes][:page]  = page if page

  getResponse(data)
end