Sha256: adef3fccc770336946422ff5b6026a461dcb56adaf416c646e0acc55b42e2a7d

Contents?: true

Size: 529 Bytes

Versions: 1

Compression:

Stored size: 529 Bytes

Contents

require "reversed/version"
require "net/dns"
require "public_suffix"

module Reversed
  def self.lookup(ip)
    ip = ip.to_s
    unless ip.empty?
      resolver = Net::DNS::Resolver.new(nameservers: ["8.8.8.8", "8.8.4.4"], retry: 3).search(ip)
      answer = resolver.answer.first || resolver.authority.first
      if answer
        hostname = answer.value.split(" ").first[0..-2]
        {
          domain: PublicSuffix.domain(hostname, ignore_private: true),
          hostname: hostname
        }
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
reversed-0.1.0 lib/reversed.rb