module Truemail

Constants

ArgumentError
ConfigurationError
INCOMPLETE_CONFIG
INVALID_TYPE
NOT_CONFIGURED
TypeError
VERSION

Public Class Methods

configuration(&block) click to toggle source
# File lib/truemail.rb, line 11
def configuration(&block)
  @configuration ||= begin
    return unless block
    configuration = Truemail::Configuration.new(&block)
    raise_unless(configuration.complete?, Truemail::INCOMPLETE_CONFIG)
    configuration
  end
end
configure(&block) click to toggle source
# File lib/truemail.rb, line 20
def configure(&block)
  configuration(&block)
end
host_audit(custom_configuration: nil) click to toggle source
# File lib/truemail.rb, line 38
def host_audit(custom_configuration: nil)
  Truemail::Auditor.new(configuration: determine_configuration(custom_configuration)).run
end
reset_configuration!() click to toggle source
# File lib/truemail.rb, line 24
def reset_configuration!
  @configuration = nil
end
valid?(email, **options) click to toggle source
# File lib/truemail.rb, line 33
def valid?(email, **options)
  check_argument_type(email)
  validate(email, **options).result.valid?
end
validate(email, custom_configuration: nil, **options) click to toggle source
# File lib/truemail.rb, line 28
def validate(email, custom_configuration: nil, **options)
  check_argument_type(email)
  Truemail::Validator.new(email, configuration: determine_configuration(custom_configuration), **options).run
end

Private Class Methods

check_argument_type(argument) click to toggle source
# File lib/truemail.rb, line 48
def check_argument_type(argument)
  raise_unless(argument.is_a?(::String), Truemail::INVALID_TYPE, Truemail::TypeError)
end
determine_configuration(custom_configuration) click to toggle source
# File lib/truemail.rb, line 52
def determine_configuration(custom_configuration)
  current_configuration = custom_configuration || configuration
  raise_unless(current_configuration, Truemail::NOT_CONFIGURED)
  raise_unless(current_configuration.complete?, Truemail::INCOMPLETE_CONFIG)
  current_configuration.dup.freeze
end
raise_unless(condition, message, error_class = Truemail::ConfigurationError) click to toggle source
# File lib/truemail.rb, line 44
def raise_unless(condition, message, error_class = Truemail::ConfigurationError)
  raise error_class, message unless condition
end