Class: GitHubPages::HealthCheck::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/github-pages-health-check/resolver.rb

Constant Summary collapse

DEFAULT_RESOLVER_OPTIONS =
{
  :retry_times   => 2,
  :query_timeout => 5,
  :dnssec        => false
}.freeze
PUBLIC_NAMESERVERS =
%w(
  8.8.8.8
  1.1.1.1
).freeze

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(domain, nameservers: :default) ⇒ Resolver

Create a new resolver.

domain - the domain we’re getting answers for nameserver - (optional) a case



28
29
30
31
# File 'lib/github-pages-health-check/resolver.rb', line 28

def initialize(domain, nameservers: :default)
  @domain = domain
  @nameservers = nameservers
end

Instance Attribute Details

#domainObject (readonly)

Returns the value of attribute domain.



22
23
24
# File 'lib/github-pages-health-check/resolver.rb', line 22

def domain
  @domain
end

#nameserversObject (readonly)

Returns the value of attribute nameservers.



22
23
24
# File 'lib/github-pages-health-check/resolver.rb', line 22

def nameservers
  @nameservers
end

Class Method Details

.default_resolverObject



17
18
19
# File 'lib/github-pages-health-check/resolver.rb', line 17

def default_resolver
  @default_resolver ||= Dnsruby::Resolver.new(DEFAULT_RESOLVER_OPTIONS)
end

Instance Method Details

#query(type) ⇒ Object



33
34
35
# File 'lib/github-pages-health-check/resolver.rb', line 33

def query(type)
  resolver.query(domain, type).answer
end