Sha256: fb0399dca144fa7d6dea98b48e355c20f767d9afa5bc91c81d651120b9b6e0b9
Contents?: true
Size: 1.07 KB
Versions: 11
Compression:
Stored size: 1.07 KB
Contents
# frozen_string_literal: true require_relative '../base.rb' require_relative '../events/event.rb' module Fusuma module Plugin module Detectors # Inherite this base class Detector < Base # @param _buffers [Array<Buffer>] # @return [Event] if event is detected # @return [NilClass] if event is NOT detected def detect(_buffers) raise NotImplementedError, "override #{self.class.name}##{__method__}" # create_event(record:) end # @param record [Events::Records::Record] # @return [Events::Event] def create_event(record:) @last_time = Time.now Events::Event.new(time: Time.now, tag: tag, record: record) end def last_time @last_time ||= Time.now end def first_time? @last_time.nil? end def tag self.class.name.split('Detectors::').last.underscore end def type self.class.name.underscore.split('/').last.gsub('_detector', '') end end end end end
Version data entries
11 entries across 11 versions & 1 rubygems