Sha256: 88563f6177fb10991fccadf26a6b72e97b45024c4835f4aac33b6cece2dfd659

Contents?: true

Size: 1.11 KB

Versions: 37

Compression:

Stored size: 1.11 KB

Contents

module Middleman
  class DnsResolver
    # Use network name server to resolve ips and names
    class BasicNetworkResolver
      private

      attr_reader :resolver, :timeouts

      public

      def initialize(opts={})
        @timeouts = opts.fetch(:timeouts, 2)
      end

      # Get names for ip
      #
      # @param [#to_s] ip
      #   The ip to resolve into names
      #
      # @return [Array]
      #   Array of Names
      def getnames(ip)
        resolver.getnames(ip.to_s).map(&:to_s)
      rescue Resolv::ResolvError, Errno::EADDRNOTAVAIL
        []
      end

      # Get ips for name
      #
      # @param [#to_s] name
      #   The name to resolve into ips
      #
      # @return [Array]
      #   Array of ipaddresses
      def getaddresses(name)
        resolver.getaddresses(name.to_s).map(&:to_s)
      rescue Resolv::ResolvError, Errno::EADDRNOTAVAIL
        []
      end

      # Set timeout for lookup
      #
      # @param [Integer] value
      #   The timeout value
      def timeouts=(timeouts)
        return if RUBY_VERSION < '2'

        resolver.timeouts = timeouts
      end
    end
  end
end

Version data entries

37 entries across 37 versions & 3 rubygems

Version Path
middleman-core-4.3.11 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.10 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.8 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.7 lib/middleman-core/dns_resolver/basic_network_resolver.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/middleman-core-4.3.3/lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.6 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.5 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.4 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.3 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.2 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.1 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.0 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-with-external-sources-watch-fix-4.1.10 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-with-external-sources-watch-fix-4.1.0 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.3.0.rc.1 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.2.1 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.2.0 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.1.14 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.1.13 lib/middleman-core/dns_resolver/basic_network_resolver.rb
middleman-core-4.1.12 lib/middleman-core/dns_resolver/basic_network_resolver.rb