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.



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

def initialize
  super nil
  self.level = WARN
  @messages = []
end

Instance Attribute Details

#messagesObject (readonly)

Returns the value of attribute messages.



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

def messages
  @messages
end

Instance Method Details

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



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

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



65
66
67
# File 'lib/asciidoctor/logging.rb', line 65

def clear
  @messages.clear
end

#empty?Boolean

Returns:

  • (Boolean)


69
70
71
# File 'lib/asciidoctor/logging.rb', line 69

def empty?
  @messages.empty?
end

#max_severityObject



73
74
75
# File 'lib/asciidoctor/logging.rb', line 73

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