Sha256: ef5fb60ef8e30c6766021aa530dfd5cc8b5bcda4a58d37812bd50a1a0b636120
Contents?: true
Size: 1.13 KB
Versions: 1
Compression:
Stored size: 1.13 KB
Contents
require 'polling/engine' require 'polling/sleep' require 'polling/validate' require 'polling/utils' module Polling class << self def setting opts={} set_instance_variables opts end def run interval=@interval, debug=false @offset ||= 0 @debug ||= debug e = Engine.new e.offset = @offset exec = lambda do |time| yield if block_given? e.target = e.increment! time Sleep.exec e.stime(:debug=>@debug) end exec_arr = lambda do |time_arr| time_arr.each do |time| e.target = e.substitution! time Sleep.exec e.stime(:debug=>@debug) yield if block_given? end end interval = Validate.value interval case interval when Array loop { exec_arr.call interval } else Sleep.exec e.stime(:debug=>@debug) loop { exec.call interval } end rescue => ex $stderr.puts ex.message end private def set_instance_variables variables variables.each do |key,var| instance_variable_set "@#{key}", var end end alias start run end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
polling-0.1.1 | lib/polling.rb |