Class: Recmon::Sensor
- Inherits:
-
Object
- Object
- Recmon::Sensor
- Defined in:
- lib/recmon/sensor.rb
Overview
Sensor is the abstract parent class for all sensors.
Direct Known Subclasses
CommandSensor, DiskfreeSensor, DiskspaceSensor, FilesizeSensor, PingSensor, ProcSensor, SSHSensor, WebSensor
Instance Method Summary collapse
-
#check ⇒ Object
check if the sensor is due to take another reading.
-
#initialize(name, freq) ⇒ Sensor
constructor
should only be called by the Monitor.
-
#sense ⇒ Object
Must be implemented by the subclass.
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
#check ⇒ Object
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 |
#sense ⇒ Object
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 |