Class: Hector::Heartbeat
- Inherits:
-
Object
- Object
- Hector::Heartbeat
- Defined in:
- lib/hector/heartbeat.rb
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(interval = 60, &block) ⇒ Heartbeat
constructor
A new instance of Heartbeat.
- #pulse ⇒ Object
- #start ⇒ Object
- #stop ⇒ Object
Constructor Details
#initialize(interval = 60, &block) ⇒ Heartbeat
Returns a new instance of Heartbeat.
7 8 9 10 |
# File 'lib/hector/heartbeat.rb', line 7 def initialize(interval = 60, &block) @interval, @block = interval, block start end |
Class Method Details
.create_timer(interval, &block) ⇒ Object
3 4 5 |
# File 'lib/hector/heartbeat.rb', line 3 def self.create_timer(interval, &block) EventMachine::PeriodicTimer.new(interval, &block) end |
Instance Method Details
#pulse ⇒ Object
16 17 18 |
# File 'lib/hector/heartbeat.rb', line 16 def pulse @block.call end |
#start ⇒ Object
12 13 14 |
# File 'lib/hector/heartbeat.rb', line 12 def start @timer ||= self.class.create_timer(@interval) { pulse } end |
#stop ⇒ Object
20 21 22 23 |
# File 'lib/hector/heartbeat.rb', line 20 def stop @timer.cancel @timer = nil end |