Class: EventMachine::PeriodicTimer

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

Overview

TODO, document this

Instance Method Summary collapse

Constructor Details

#initialize(*args, &block) ⇒ PeriodicTimer

Returns a new instance of PeriodicTimer.



1506
1507
1508
1509
1510
# File 'lib/eventmachine.rb', line 1506

def initialize *args, &block
	@interval = args.shift
	@code = args.shift || block
	schedule
end

Instance Method Details

#cancelObject



1522
1523
1524
# File 'lib/eventmachine.rb', line 1522

def cancel
	@cancelled = true
end

#fireObject



1514
1515
1516
1517
1518
1519
1520
1521
# File 'lib/eventmachine.rb', line 1514

def fire
	begin
		@code.call
	rescue
		EventMachine::handle_runtime_error
	end
	schedule unless @cancelled
end

#scheduleObject



1511
1512
1513
# File 'lib/eventmachine.rb', line 1511

def schedule
	EventMachine::add_timer @interval, proc {self.fire}
end