Class: AddressFinder::V1::Email::BatchVerification

Inherits:
Object
  • Object
show all
Defined in:
lib/addressfinder/v1/email/batch_verification.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(emails:, http:, concurrency: 5, **args) ⇒ BatchVerification

Verifies an array of email addresses using concurrency to reduce the execution time. The results of the verification are stored in the results attribute, in the same order in which they were supplied.

Parameters:

  • emails (Array<String>)
  • http (AddressFinder::HTTP)

    HTTP connection helper

  • concurrency (Integer) (defaults to: 5)

    How many threads to use for verification

  • args (Hash)

    Any additional arguments that will be passed onto the EV API



15
16
17
18
19
20
# File 'lib/addressfinder/v1/email/batch_verification.rb', line 15

def initialize(emails:, http:, concurrency: 5, **args)
  @emails = emails
  @concurrency = concurrency
  @http = http
  @args = args
end

Instance Attribute Details

#emailsObject (readonly)

Returns the value of attribute emails.



5
6
7
# File 'lib/addressfinder/v1/email/batch_verification.rb', line 5

def emails
  @emails
end

#resultsObject (readonly)

Returns the value of attribute results.



5
6
7
# File 'lib/addressfinder/v1/email/batch_verification.rb', line 5

def results
  @results
end

Instance Method Details

#performObject



22
23
24
25
26
27
# File 'lib/addressfinder/v1/email/batch_verification.rb', line 22

def perform
  confirm_concurrency_level
  verify_each_email_concurrently

  self
end