Class: Fluent::TaggedOutputChain

Inherits:
Object
  • Object
show all
Defined in:
lib/fluent/plugin/out_tagged_copy.rb

Direct Known Subclasses

TaggedCopyOutputChain

Instance Method Summary collapse

Constructor Details

#initialize(array, tag_procs, tag, es, chain = NullOutputChain.instance) ⇒ TaggedOutputChain

Returns a new instance of TaggedOutputChain.



74
75
76
77
78
79
80
81
# File 'lib/fluent/plugin/out_tagged_copy.rb', line 74

def initialize(array, tag_procs, tag, es, chain=NullOutputChain.instance)
  @array = array
  @tag_procs = tag_procs
  @tag = tag
  @es = es
  @offset = 0
  @chain = chain
end

Instance Method Details

#nextObject



83
84
85
86
87
88
89
90
91
# File 'lib/fluent/plugin/out_tagged_copy.rb', line 83

def next
  if @array.length <= @offset
    return @chain.next
  end
  @offset += 1
  emit_tag = @tag_procs[@offset-1].call(@tag) # added
  result = @array[@offset-1].emit(emit_tag, @es, self)
  result
end