class Fusuma::Plugin::Detectors::Detector
Inherite this base
Public Class Methods
tag()
click to toggle source
# File lib/fusuma/plugin/detectors/detector.rb, line 55 def tag name.split('Detectors::').last.underscore end
type(tag_name = tag)
click to toggle source
# File lib/fusuma/plugin/detectors/detector.rb, line 59 def type(tag_name = tag) tag_name.gsub('_detector', '') end
Public Instance Methods
create_event(record:)
click to toggle source
@param record [Events::Records::Record] @return [Events::Event]
# File lib/fusuma/plugin/detectors/detector.rb, line 33 def create_event(record:) @last_time = Time.now Events::Event.new(time: @last_time, tag: tag, record: record) end
detect(_buffers)
click to toggle source
@param _buffers [Array<Buffer>] @return [Event] if event is detected @return [NilClass] if event is NOT detected
# File lib/fusuma/plugin/detectors/detector.rb, line 25 def detect(_buffers) raise NotImplementedError, "override #{self.class.name}##{__method__}" # create_event(record:) end
first_time?()
click to toggle source
# File lib/fusuma/plugin/detectors/detector.rb, line 42 def first_time? @last_time.nil? end
last_time()
click to toggle source
# File lib/fusuma/plugin/detectors/detector.rb, line 38 def last_time @last_time ||= Time.now end
sources()
click to toggle source
@return [Array<String>]
# File lib/fusuma/plugin/detectors/detector.rb, line 12 def sources @source ||= self.class.const_get('SOURCES') end
tag()
click to toggle source
# File lib/fusuma/plugin/detectors/detector.rb, line 46 def tag self.class.tag end
type()
click to toggle source
# File lib/fusuma/plugin/detectors/detector.rb, line 50 def type self.class.type end
watch?()
click to toggle source
Always watch buffers and detect them or not @return [TrueClass,FalseClass]
# File lib/fusuma/plugin/detectors/detector.rb, line 18 def watch? false end