Sha256: 2013c1b7e78f3620e9ff6893607c709cd08fa896ac4db420817fa0307617676a
Contents?: true
Size: 585 Bytes
Versions: 22
Compression:
Stored size: 585 Bytes
Contents
# frozen_string_literal: true module Truemail class Wrapper attr_reader :timeout attr_accessor :attempts def self.call(configuration:, &block) new(configuration).call(&block) end def initialize(configuration) @attempts = configuration.connection_attempts @timeout = configuration.connection_timeout end def call(&block) Timeout.timeout(timeout, &block) rescue Resolv::ResolvError, IPAddr::InvalidAddressError false rescue Timeout::Error retry unless (self.attempts -= 1).zero? false end end end
Version data entries
22 entries across 22 versions & 1 rubygems