class Fluent::Test::Driver::Filter
def filtered_records
def filtered_records @filtered.map {|_time, record| record } end
def initialize(klass, opts: {}, &block)
def initialize(klass, opts: {}, &block) super raise ArgumentError, "plugin is not an instance of Fluent::Plugin::Filter" unless @instance.is_a? Fluent::Plugin::Filter @filtered = [] end
def instance_hook_after_started
def instance_hook_after_started super filter_hook = ->(time, record) { @filtered << [time, record] } m = Module.new do define_method(:filter_stream) do |tag, es| new_es = super(tag, es) new_es.each do |time, record| filter_hook.call(time, record) end new_es end end @instance.singleton_class.prepend(m) end