Skip to content

Commit 1021e19

Browse files
committed
Reduce duplicated code
Signed-off-by: Kenji Okimoto <[email protected]>
1 parent 60dad28 commit 1021e19

File tree

1 file changed

+17
-16
lines changed

1 file changed

+17
-16
lines changed

lib/fluent/plugin/filter_concat.rb

Lines changed: 17 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -197,14 +197,7 @@ def process_partial(stream_identity, tag, time, record)
197197
end
198198
if force_flush && @buffer_overflow_method == :new
199199
@buffer[stream_identity] << [tag, time, record]
200-
@buffer_size[stream_identity] = if [].respond_to?(:sum)
201-
record.keys.sum(&:bytesize) + record.values.sum(&:bytesize)
202-
else
203-
# Support Ruby 2.3 or earlier
204-
record.inject(0) do |memo, (key, value)|
205-
memo + key.bytesize + value.bytesize
206-
end
207-
end
200+
@buffer_size[stream_identity] = record.keys.sum(&:bytesize) + record.values.sum(&:bytesize)
208201
if @partial_value != record[@partial_key]
209202
new_time, new_record = flush_buffer(stream_identity)
210203
time = new_time if @use_first_timestamp
@@ -283,14 +276,7 @@ def continuous_line?(text)
283276
end
284277

285278
def overflow?(stream_identity, record)
286-
size = if [].respond_to?(:sum)
287-
record.keys.sum(&:bytesize) + record.values.sum(&:bytesize)
288-
else
289-
# Support Ruby 2.3 or earlier
290-
record.inject(0) do |memo, (key, value)|
291-
memo + key.bytesize + value.bytesize
292-
end
293-
end
279+
size = record.keys.sum(&:bytesize) + record.values.sum(&:bytesize)
294280
if @buffer_size[stream_identity] + size > @buffer_limit_size
295281
@buffer_size[stream_identity] = 0
296282
true
@@ -358,3 +344,18 @@ def handle_timeout_error(tag, time, record, message)
358344
end
359345
end
360346
end
347+
348+
class Array
349+
# Support Ruby 2.3 or earlier
350+
unless [].respond_to?(:sum)
351+
def sum
352+
inject(0) do |memo, value|
353+
if block_given?
354+
memo + yield(value)
355+
else
356+
memo + value
357+
end
358+
end
359+
end
360+
end
361+
end

0 commit comments

Comments
 (0)