Sha256: 601c77448154a7791615085eb62f1ea80c2cd24afb2e85f109c6eac6fced859b

Contents?: true

Size: 1.35 KB

Versions: 49

Compression:

Stored size: 1.35 KB

Contents

# frozen_string_literal: true

module Truemail
  module Log
    module Serializer
      class ValidatorBase < Truemail::Log::Serializer::Base
        def initialize(executor_instance)
          @validation_type = executor_instance.validation_type
          super
        end

        private

        attr_reader :validation_type

        def replace_invalid_chars
          ->(value) { value.encode('UTF-8', invalid: :replace) }
        end

        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

        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
      end
    end
  end
end

Version data entries

49 entries across 49 versions & 1 rubygems

Version Path
truemail-3.3.1 lib/truemail/log/serializer/validator_base.rb
truemail-3.3.0 lib/truemail/log/serializer/validator_base.rb
truemail-3.2.0 lib/truemail/log/serializer/validator_base.rb
truemail-3.1.2 lib/truemail/log/serializer/validator_base.rb
truemail-3.1.1 lib/truemail/log/serializer/validator_base.rb
truemail-3.1.0 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.9 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.8 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.7 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.6 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.5 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.4 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.3 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.2 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.1 lib/truemail/log/serializer/validator_base.rb
truemail-3.0.0 lib/truemail/log/serializer/validator_base.rb
truemail-2.7.5 lib/truemail/log/serializer/validator_base.rb
truemail-2.7.4 lib/truemail/log/serializer/validator_base.rb
truemail-2.7.3 lib/truemail/log/serializer/validator_base.rb
truemail-2.7.2 lib/truemail/log/serializer/validator_base.rb