Method: Window#every_n_seconds
- Defined in:
- lib/drydock/console.rb
#every_n_seconds(n) ⇒ Object
Execute the given block every n seconds in a separate thread. The lower limit for n is 1 second. Returns a Thread object.
254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 |
# File 'lib/drydock/console.rb', line 254 def every_n_seconds(n) #n = 1 if n < 1 thread = Thread.new do begin while true before = Time.now yield interval = n - (Time.now - before) sleep(interval) if interval > 0 end rescue Interrupt break ensure thread end end end |