class Truemail::Log::Serializer::ValidatorBase

Attributes

validation_type[R]

Public Class Methods

new(executor_instance) click to toggle source
Calls superclass method Truemail::Log::Serializer::Base::new
# File lib/truemail/log/serializer/validator_base.rb, line 7
def initialize(executor_instance)
  @validation_type = executor_instance.validation_type
  super
end

Private Instance Methods

replace_invalid_chars() click to toggle source
# File lib/truemail/log/serializer/validator_base.rb, line 16
def replace_invalid_chars
  ->(value) { value.encode('UTF-8', invalid: :replace) }
end
result() click to toggle source
# File lib/truemail/log/serializer/validator_base.rb, line 34
def result
  @result ||=
    {
      date: ::Time.now,
      email: executor_result.email,
      validation_type: validation_type,
      success: executor_result.success,
      errors: errors(executor_result.errors),
      smtp_debug: smtp_debug,
      configuration: configuration
    }
end
smtp_debug() click to toggle source
# File lib/truemail/log/serializer/validator_base.rb, line 20
def smtp_debug
  validation_smtp_debug = executor_result.smtp_debug
  return unless validation_smtp_debug
  validation_smtp_debug.map do |smtp_request|
    smtp_response = smtp_request.response
    {
      mail_host: smtp_request.host,
      port_opened: smtp_response.port_opened,
      connection: smtp_response.connection,
      errors: smtp_response.errors.transform_values(&replace_invalid_chars)
    }
  end
end