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
log(severity, message = nil, progname = nil)

rubocop:enable MethodLength

Alias for: add
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