class Truemail::Dns::Worker
Constants
- DEFAULT_DNS_PORT
Attributes
dns_gateway[R]
Public Class Methods
new(dns_servers)
click to toggle source
Calls superclass method
# File lib/truemail/dns/worker.rb, line 12 def initialize(dns_servers) super(dns_servers.empty? ? nil : config_info(dns_servers)) end
Public Instance Methods
a_record(host_name)
click to toggle source
# File lib/truemail/dns/worker.rb, line 20 def a_record(host_name) getaddress(host_name).to_s end
a_records(host_name)
click to toggle source
# File lib/truemail/dns/worker.rb, line 24 def a_records(host_name) getaddresses(host_name).map(&:to_s) end
cname_records(host_name)
click to toggle source
# File lib/truemail/dns/worker.rb, line 28 def cname_records(host_name) getresources(host_name, ::Resolv::DNS::Resource::IN::CNAME) end
dns_lookup(host_address)
click to toggle source
# File lib/truemail/dns/worker.rb, line 16 def dns_lookup(host_address) getname(host_address).to_s end
mx_records(host_name)
click to toggle source
# File lib/truemail/dns/worker.rb, line 32 def mx_records(host_name) getresources(host_name, ::Resolv::DNS::Resource::IN::MX) end
ptr_records(host_address)
click to toggle source
# File lib/truemail/dns/worker.rb, line 36 def ptr_records(host_address) getresources(host_address, ::Resolv::DNS::Resource::IN::PTR) end
Private Instance Methods
config_info(dns_servers)
click to toggle source
# File lib/truemail/dns/worker.rb, line 47 def config_info(dns_servers) @dns_gateway = { nameserver_port: dns_servers.map { |server| nameserver_port(server) } } end
nameserver_port(server)
click to toggle source
# File lib/truemail/dns/worker.rb, line 42 def nameserver_port(server) server_address, server_port = server.split(':') [server_address, server_port ? server_port.to_i : Truemail::Dns::Worker::DEFAULT_DNS_PORT] end