class Epilog::MockLogger
Public Class Methods
new(**options)
click to toggle source
Calls superclass method
# File lib/epilog/mock_logger.rb, line 5 def initialize(**options) super(nil, **options) reset end
Public Instance Methods
[](index)
click to toggle source
# File lib/epilog/mock_logger.rb, line 33 def [](index) @logs[index].dup || [] end
add(severity, message = nil, progname = nil) { || ... }
click to toggle source
rubocop:disable MethodLength
# File lib/epilog/mock_logger.rb, line 11 def add(severity, message = nil, progname = nil) severity ||= Logger::UNKNOWN return true if severity < level prog ||= progname if message.nil? if block_given? message = yield else message = prog prog = progname end end write(format_severity(severity), current_time, prog, message) end
Also aliased as: log
freeze_time(time)
click to toggle source
# File lib/epilog/mock_logger.rb, line 41 def freeze_time(time) @time = time end
pop_context()
click to toggle source
# File lib/epilog/mock_logger.rb, line 60 def pop_context @context.pop end
push_context(context)
click to toggle source
# File lib/epilog/mock_logger.rb, line 56 def push_context(context) @context << context end
reopen(_logdev = nil)
click to toggle source
# File lib/epilog/mock_logger.rb, line 30 def reopen(_logdev = nil) end
reset()
click to toggle source
# File lib/epilog/mock_logger.rb, line 45 def reset @logs = [] @context = [] end
to_a()
click to toggle source
# File lib/epilog/mock_logger.rb, line 37 def to_a (0...@logs.size).map { |i| self[i] } end
with_context(context) { || ... }
click to toggle source
# File lib/epilog/mock_logger.rb, line 50 def with_context(context) push_context(context) yield pop_context end
Private Instance Methods
current_time()
click to toggle source
# File lib/epilog/mock_logger.rb, line 66 def current_time @time || Time.now end
write(severity, time, prog, message)
click to toggle source
# File lib/epilog/mock_logger.rb, line 70 def write(severity, time, prog, message) @logs << [severity, time, prog, message, @context.dup] end