Sha256: 9577b9c0196a01a663e655c2e5c295c58f4e25bb8c7fbe912ad4c69a1881f657

Contents?: true

Size: 604 Bytes

Versions: 3

Compression:

Stored size: 604 Bytes

Contents

require 'rufus-scheduler'
class Maid::Repeat
  include Maid::RuleContainer
  
  attr_reader :timestring, :scheduler, :logger
  
  def initialize(maid, timestring, options = {}, &rules)
    @maid = maid
    @logger = maid.logger # TODO: Maybe it's better to create seperate loggers?
    @scheduler = Rufus::Scheduler.singleton
    @timestring = timestring
    @options = options
    initialize_rules(&rules)
  end

  def run
    unless rules.empty?
      @scheduler.repeat(timestring, @options) { follow_rules }
    end
  end
  
  def stop
    @scheduler.shutdown(:join) # Join the work threads
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
maid-0.10.0.pre.alpha.1 lib/maid/repeat.rb
maid-0.9.0.alpha.2 lib/maid/repeat.rb
maid-0.9.0.alpha.1 lib/maid/repeat.rb