Module: Truemail

Defined in:
lib/truemail.rb,
lib/truemail/core.rb,
lib/truemail/version.rb,
lib/truemail/validator.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/validate/smtp/request.rb,
lib/truemail/validate/smtp/response.rb,
lib/truemail/validate/resolver_execution_wrapper.rb

Defined Under Namespace

Modules: RegexConstant, Validate Classes: ArgumentError, Configuration, ConfigurationError, Validator

Constant Summary collapse

INCOMPLETE_CONFIG =
'verifier_email is required parameter'
NOT_CONFIGURED =
'use Truemail.configure before'
VERSION =
'0.1.4'

Class Method Summary collapse

Class Method Details

.configurationObject



13
14
15
16
17
18
19
20
21
# File 'lib/truemail.rb', line 13

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

.configure(&block) ⇒ Object



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

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

.reset_configuration!Object



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

def reset_configuration!
  @configuration = nil
end

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

Returns:

  • (Boolean)


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

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

.validate(email, **options) ⇒ Object

Raises:



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

def validate(email, **options)
  raise ConfigurationError, NOT_CONFIGURED unless configuration
  Truemail::Validator.new(email, **options).run
end