Sha256: 2261dadc488928cb2db1890416e23577c165f6b6f0e9732faa8fc71faa9577ce
Contents?: true
Size: 1.1 KB
Versions: 5
Compression:
Stored size: 1.1 KB
Contents
# frozen_string_literal: true require_relative "../base" module Fusuma module Plugin module Buffers # buffer events and output class Buffer < Base def initialize(*args) super() @events = Array.new(*args) end attr_reader :events # @return [String] def type @type ||= self.class.name.underscore.split("/").last.gsub("_buffer", "") end # @param event [Event] def buffer(event) return if event&.tag != source @events.push(event) end # clear old events # @param current_time [Time] def clear_expired(current_time: Time.now) end # @return [TrueClass, FalseClass] def empty? @events.empty? end # clear buffer def clear @events.clear end # Set source for tag from config.yml. # DEFAULT_SOURCE is defined in each plugins. def source @source ||= config_params(:source) || self.class.const_get(:DEFAULT_SOURCE) end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems