Sha256: 34fe9f49afbad8c43f3a4e68f62a62f8518dba91d331370869a46643330e1129
Contents?: true
Size: 700 Bytes
Versions: 8
Compression:
Stored size: 700 Bytes
Contents
module Denko module Behaviors module Poller include Reader include Threaded def poll_using(method, interval, *args, &block) unless [Integer, Float].include? interval.class raise ArgumentError, "wrong interval given to #poll : #{interval.inspect}" end stop add_callback(:poll, &block) if block_given? threaded_loop do method.call(*args) sleep interval end end def poll(interval, *args, &block) poll_using(self.method(:_read), interval, *args, &block) end def stop super if defined?(super) remove_callbacks :poll end end end end
Version data entries
8 entries across 8 versions & 1 rubygems