Sha256: b5f49d3e5a14519cee2878895e88cc6950980af338e3e26a6bf4ed99fb73779c

Contents?: true

Size: 592 Bytes

Versions: 3

Compression:

Stored size: 592 Bytes

Contents

require 'rufus-scheduler'
class Maid::Repeat
  include Maid::RuleContainer

  attr_reader :timestring, :scheduler, :logger

  def initialize(maid, timestring, options = {}, &block)
    @maid = maid
    @logger = maid.logger # TODO: Maybe it's better to create seperate loggers?
    @scheduler = Rufus::Scheduler.singleton
    @timestring = timestring
    @options = options
    initialize_rules(&block)
  end

  def run
    return if rules.empty?

    @scheduler.repeat(timestring, @options) { follow_rules }
  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 lib/maid/repeat.rb
maid-0.10.0.pre.alpha.3 lib/maid/repeat.rb
maid-0.10.0.pre.alpha.2 lib/maid/repeat.rb