Sha256: a53a675ed898f940fc0e5a23c1818f63b23e1426b258f026aad83cd820245287

Contents?: true

Size: 1.29 KB

Versions: 8

Compression:

Stored size: 1.29 KB

Contents

require 'logger'
require 'active_support/time'

require 'clockwork/at'
require 'clockwork/event'
require 'clockwork/manager'

module Clockwork
  class << self
    def included(klass)
      klass.send "include", Methods
      klass.extend Methods
    end

    def manager
      @manager ||= Manager.new
    end

    def manager=(manager)
      @manager = manager
    end
  end

  module Methods
    def configure(&block)
      Clockwork.manager.configure(&block)
    end

    def handler(&block)
      Clockwork.manager.handler(&block)
    end

    def error_handler(&block)
      Clockwork.manager.error_handler(&block)
    end

    def on(event, options={}, &block)
      Clockwork.manager.on(event, options, &block)
    end

    def every(period, job, options={}, &block)
      Clockwork.manager.every(period, job, options, &block)
    end

    def run
      Clockwork.manager.run
    end

    def clear!
      Clockwork.manager = Manager.new
    end
  end

  extend Methods
end

unless 1.respond_to?(:seconds)
  class Numeric
    def seconds; self; end
    alias :second :seconds

    def minutes; self * 60; end
    alias :minute :minutes

    def hours; self * 3600; end
    alias :hour :hours

    def days; self * 86400; end
    alias :day :days

    def weeks; self * 604800; end
    alias :week :weeks
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
clockwork-1.0.0 lib/clockwork.rb
clockwork-0.7.7 lib/clockwork.rb
clockwork-0.7.5 lib/clockwork.rb
clockwork-0.7.4 lib/clockwork.rb
clockwork-0.7.3 lib/clockwork.rb
clockwork-0.7.2 lib/clockwork.rb
clockwork-0.7.1 lib/clockwork.rb
clockwork-0.7.0 lib/clockwork.rb