Sha256: c495c28077a26de6994411958d5969f77ae53f2162461e638fad4cdd92b5a4bc

Contents?: true

Size: 507 Bytes

Versions: 9

Compression:

Stored size: 507 Bytes

Contents

# frozen_string_literal: true

module Truemail
  class Wrapper
    attr_accessor :attempts

    def self.call(&block)
      new.call(&block)
    end

    def initialize
      @attempts = Truemail.configuration.connection_attempts
    end

    def call(&block)
      Timeout.timeout(Truemail.configuration.connection_timeout, &block)
    rescue Resolv::ResolvError, IPAddr::InvalidAddressError
      false
    rescue Timeout::Error
      retry unless (self.attempts -= 1).zero?
      false
    end
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
truemail-1.2.1 lib/truemail/wrapper.rb
truemail-1.2.0 lib/truemail/wrapper.rb
truemail-1.1.0 lib/truemail/wrapper.rb
truemail-1.0.1 lib/truemail/wrapper.rb
truemail-1.0.0 lib/truemail/wrapper.rb
truemail-0.2.0 lib/truemail/wrapper.rb
truemail-0.1.10 lib/truemail/wrapper.rb
truemail-0.1.9 lib/truemail/wrapper.rb
truemail-0.1.8 lib/truemail/wrapper.rb