Class: Recmon::Sensor

Inherits:
Object
  • Object
show all
Defined in:
lib/recmon/sensor.rb

Overview

Sensor is the abstract parent class for all sensors.

Instance Method Summary collapse

Constructor Details

#initialize(name, freq) ⇒ Sensor

should only be called by the Monitor



8
9
10
11
12
13
14
# File 'lib/recmon/sensor.rb', line 8

def initialize(name, freq)
  @name = name
  @freq = freq.to_i
  @due = Time.now
  raise "A name must be specified for the sensor" if name.nil? or name.length == 0
  raise "Frequency must be positive seconds, #{@freq} is not valid" if freq < 1
end

Instance Method Details

#checkObject

check if the sensor is due to take another reading



17
18
19
20
21
22
23
24
# File 'lib/recmon/sensor.rb', line 17

def check()
  now = Time.now
  if @due < now
    @due = now + @freq
    return(true)
  end
  return(false)
end

#senseObject

Must be implemented by the subclass.

Called by the Monitor if #check returns true



29
30
31
# File 'lib/recmon/sensor.rb', line 29

def sense()
  raise("#sense method should be overridden by the sub-class")
end