Sha256: 52ccb7a0ac7598c2a8e265eb1f5a9b7e2bfd1d405c545a309abcc1da22066c8d
Contents?: true
Size: 872 Bytes
Versions: 2
Compression:
Stored size: 872 Bytes
Contents
# monkeypatches for Timers & Timer classes used by Celluloid class Timers def initialize @timers = SortedSet.new @paused_timers = SortedSet.new end def pause(timer = nil) return pause_all if timer.nil? raise TypeError, "not a Timers::Timer" unless timer.is_a? Timers::Timer @timers.delete timer @paused_timers.add timer end def pause_all @timers.each {|timer| timer.pause} end def continue(timer = nil) return continue_all if timer.nil? raise TypeError, "not a Timers::Timer" unless timer.is_a? Timers::Timer @paused_timers.delete timer @timers.add timer end def continue_all @paused_timers.each {|timer| timer.continue} end class Timer # Pause this timer def pause @timers.pause self end # Continue this timer def continue @timers.continue self end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
artoo-0.4.0 | lib/artoo/ext/timers.rb |
artoo-0.3.0 | lib/artoo/ext/timers.rb |