Module: Logrithm::Formatters::Pretty

Defined in:
lib/logrithm/formatters/pretty.rb

Class Method Summary collapse

Class Method Details

.empty?(message) ⇒ Boolean

Returns:

  • (Boolean)


30
31
32
33
34
35
36
# File 'lib/logrithm/formatters/pretty.rb', line 30

def empty?(message)
  return true if message.nil?
  message = message.strip if message.respond_to?(:strip)
  return true if message.respond_to?(:empty?) && message.empty?
  return true if message.respond_to?(:blank?) && message.blank?
  false
end

.formatterObject



4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/logrithm/formatters/pretty.rb', line 4

def formatter
  proc do |severity, datetime, _, message|
    if empty?(message)
      ''
    else
      '' <<
        Log::INSTANCE.send(:lead, severity, datetime) <<
        parse(message).map do |formatted|
          Log::INSTANCE.send(:color, severity).last.colorize(formatted)
        end.join(Logrithm::Log::JOINER) << $/
    end
  end
end

.parse(message) ⇒ Object



20
21
22
23
24
25
26
27
28
# File 'lib/logrithm/formatters/pretty.rb', line 20

def parse(message)
  return enum_for(:parse, message) unless block_given?
  [*message].each do |obj|
    klazz = obj.class.ancestors.inject(nil) do |memo, k|
      memo || Utils::Helpers.constantize(k, Logrithm::Spitters)
    end || Utils::Helpers.constantize(:string, Logrithm::Spitters)
    yield klazz.new(obj).formatted unless empty?(obj)
  end
end