Method: Fluent::UnwindOutput#emit

Defined in:
lib/fluent/plugin/out_unwind.rb

#emit(tag, es, chain) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/fluent/plugin/out_unwind.rb', line 18

def emit(tag, es, chain)
  es.each do |time, record|
    chain.next
    if record[unwind_key] && record[unwind_key].is_a?(Array)
      record[unwind_key].each do |value|
        new_record = record.dup
        new_record[unwind_key] = value
        Fluent::Engine.emit(output_tag, time, new_record)
      end
    else
      Fluent::Engine.emit(output_tag, time, record)
    end
  end
end