Module: Truemail

Defined in:
lib/truemail.rb,
lib/truemail/core.rb,
lib/truemail/logger.rb,
lib/truemail/worker.rb,
lib/truemail/auditor.rb,
lib/truemail/version.rb,
lib/truemail/wrapper.rb,
lib/truemail/audit/ptr.rb,
lib/truemail/log/event.rb,
lib/truemail/validator.rb,
lib/truemail/audit/base.rb,
lib/truemail/validate/mx.rb,
lib/truemail/configuration.rb,
lib/truemail/validate/base.rb,
lib/truemail/validate/smtp.rb,
lib/truemail/validate/regex.rb,
lib/truemail/log/serializer/base.rb,
lib/truemail/log/serializer/json.rb,
lib/truemail/log/serializer/text.rb,
lib/truemail/validate/smtp/request.rb,
lib/truemail/validate/smtp/response.rb,
lib/truemail/validate/domain_list_match.rb

Defined Under Namespace

Modules: Audit, Log, RegexConstant, Validate Classes: ArgumentError, Auditor, Configuration, ConfigurationError, Logger, Validator, Worker, Wrapper

Constant Summary collapse

INCOMPLETE_CONFIG =
'verifier_email is required parameter'
NOT_CONFIGURED =
'use Truemail.configure before or pass custom configuration'
VERSION =
'1.4.2'

Class Method Summary collapse

Class Method Details

.configurationObject



10
11
12
13
14
15
16
17
18
# File 'lib/truemail.rb', line 10

def configuration
  @configuration ||= begin
    return unless block_given?
    configuration = Truemail::Configuration.new
    yield(configuration)
    raise_unless(configuration.complete?, Truemail::INCOMPLETE_CONFIG)
    configuration
  end
end

.configure(&block) ⇒ Object



20
21
22
# File 'lib/truemail.rb', line 20

def configure(&block)
  configuration(&block)
end

.host_audit(custom_configuration: nil) ⇒ Object



36
37
38
# File 'lib/truemail.rb', line 36

def host_audit(custom_configuration: nil)
  Truemail::Auditor.new(configuration: determine_configuration(custom_configuration)).run
end

.reset_configuration!Object



24
25
26
# File 'lib/truemail.rb', line 24

def reset_configuration!
  @configuration = nil
end

.valid?(email, **options) ⇒ Boolean

Returns:

  • (Boolean)


32
33
34
# File 'lib/truemail.rb', line 32

def valid?(email, **options)
  validate(email, **options).result.valid?
end

.validate(email, custom_configuration: nil, **options) ⇒ Object



28
29
30
# File 'lib/truemail.rb', line 28

def validate(email, custom_configuration: nil, **options)
  Truemail::Validator.new(email, configuration: determine_configuration(custom_configuration), **options).run
end