Class: Asciidoctor::MemoryLogger

Inherits:
Logger
  • Object
show all
Defined in:
lib/asciidoctor/logging.rb

Constant Summary collapse

SEVERITY_SYMBOL_BY_VALUE =
(Severity.constants false).map {|c| [(Severity.const_get c), c] }.to_h

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeMemoryLogger

Returns a new instance of MemoryLogger.



44
45
46
47
# File 'lib/asciidoctor/logging.rb', line 44

def initialize
  super nil, level: UNKNOWN
  @messages = []
end

Instance Attribute Details

#messagesObject (readonly)



42
43
44
# File 'lib/asciidoctor/logging.rb', line 42

def messages
  @messages
end

Instance Method Details

#add(severity, message = nil, progname = nil) ⇒ Object



49
50
51
52
53
# File 'lib/asciidoctor/logging.rb', line 49

def add severity, message = nil, progname = nil
  message ||= block_given? ? yield : progname
  @messages << { severity: SEVERITY_SYMBOL_BY_VALUE[severity || UNKNOWN], message: message }
  true
end

#clearObject



55
56
57
# File 'lib/asciidoctor/logging.rb', line 55

def clear
  @messages.clear
end

#empty?Boolean

Returns:

  • (Boolean)


59
60
61
# File 'lib/asciidoctor/logging.rb', line 59

def empty?
  @messages.empty?
end

#max_severityObject



63
64
65
# File 'lib/asciidoctor/logging.rb', line 63

def max_severity
  empty? ? nil : @messages.map {|m| Severity.const_get m[:severity] }.max
end