1
0
مراية لـ https://github.com/postalserver/postal.git تم المزامنة 2025-11-30 21:32:30 +00:00
الملفات
postal/spec/helpers/test_logger.rb
2024-02-23 22:51:34 +00:00

48 أسطر
940 B
Ruby

# frozen_string_literal: true
class TestLogger
def initialize
@log_lines = []
@group_set = Klogger::GroupSet.new
@print = false
end
def print!
@print = true
end
def add(level, message, **tags)
@group_set.groups.each do |group|
tags = group[:tags].merge(tags)
end
@log_lines << { level: level, message: message, tags: tags }
puts message if @print
true
end
[:info, :debug, :warn, :error].each do |level|
define_method(level) do |message, **tags|
add(level, message, **tags)
end
end
def tagged(**tags, &block)
@group_set.call_without_id(**tags, &block)
end
def log_line(match)
@log_lines.reverse.each do |log_line|
return log_line if match.is_a?(String) && log_line[:message] == match
return log_line if match.is_a?(Regexp) && log_line[:message] =~ match
end
nil
end
def has_logged?(match)
!!log_line(match)
end
end