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