Sha256: 0867cae8c73496244be5fcba01b0f02e4b99c53502e3425d573ba67a5e452a1e

Contents?: true

Size: 781 Bytes

Versions: 2

Compression:

Stored size: 781 Bytes

Contents

module DispatchRider
  module Logging
    # Translates a message into a loggable hash based on its result.
    class Translator
      def self.translate(message, kind, **args)
        klass = translator_class(kind)
        fragment = klass.new(message, **args).translate
        { phase: kind }.merge fragment
      end

      def self.translator_class(kind)
        const_get("#{kind}_translator".classify)
      end
    end
  end
end

require_relative 'translator/base_translator'
require_relative 'translator/complete_translator'
require_relative 'translator/fail_translator'
require_relative 'translator/error_handler_fail_translator'
require_relative 'translator/start_translator'
require_relative 'translator/stop_translator'
require_relative 'translator/success_translator'

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dispatch-rider-2.1.0 lib/dispatch-rider/logging/translator.rb
dispatch-rider-2.0.0 lib/dispatch-rider/logging/translator.rb