class Truemail::Wrapper

Attributes

attempts[RW]
timeout[R]

Public Class Methods

call(configuration:, &block) click to toggle source
# File lib/truemail/wrapper.rb, line 8
def self.call(configuration:, &block)
  new(configuration).call(&block)
end
new(configuration) click to toggle source
# File lib/truemail/wrapper.rb, line 12
def initialize(configuration)
  @attempts = configuration.connection_attempts
  @timeout = configuration.connection_timeout
end

Public Instance Methods

call(&block) click to toggle source
# File lib/truemail/wrapper.rb, line 17
def call(&block)
  ::Timeout.timeout(timeout, &block)
rescue ::Resolv::ResolvError, ::IPAddr::InvalidAddressError
  false
rescue ::Timeout::Error
  retry unless (self.attempts -= 1).zero?
  false
end