class ExtendedLogger::Serializer

Attributes

color_scheme[W]
log_format[R]

Public Class Methods

build(log_format: nil, color_scheme: nil) click to toggle source
# File lib/extended_logger/serializer.rb, line 10
def self.build log_format: nil, color_scheme: nil
  log_format ||= Defaults.log_format

  instance = new log_format
  instance.color_scheme = color_scheme if color_scheme
  instance
end
new(log_format) click to toggle source
# File lib/extended_logger/serializer.rb, line 6
def initialize log_format
  @log_format = log_format
end

Public Instance Methods

call(message) click to toggle source
# File lib/extended_logger/serializer.rb, line 18
def call message
  messages = format_text message

  messages.reduce String.new do |string, message|
    color_scheme.colorize message

    string << log_format.(message)
    string << "\n"
    string
  end
end
color_scheme() click to toggle source
# File lib/extended_logger/serializer.rb, line 30
def color_scheme
  @color_scheme ||= ColorScheme::None
end
format_text(message) click to toggle source
# File lib/extended_logger/serializer.rb, line 34
def format_text message
  lines = TextFormatter.(message.prose)

  lines.map do |line|
    line_message = message.dup
    line_message.prose = line
    line_message
  end
end