class Ocular::Inputs::Cron::Input::DSLProxy

Public Class Methods

new(proxy, handler, logger) click to toggle source
# File lib/ocular/inputs/cron_input.rb, line 75
def initialize(proxy, handler, logger)
    @proxy = proxy
    @handler = handler
    @logger = logger
end

Public Instance Methods

at(rule, &block) click to toggle source
# File lib/ocular/inputs/cron_input.rb, line 98
def at(rule, &block)
    eventbase = Ocular::DSL::EventBase.new(@proxy, &block)
    ::Ocular.logger.debug "Scheduling cron.at(#{rule}) for block #{block}"

    id = @handler.scheduler.at(rule, :overlap => false) do
        if @handler.cron_enabled
            context = ::Ocular::DSL::RunContext.new(@logger)
            context.log_cause("cron.at", {:rule => rule})
            eventbase.exec(context)
        end
    end

    @proxy.events[id] = eventbase

    return id
end
cron(rule, &block) click to toggle source
# File lib/ocular/inputs/cron_input.rb, line 132
def cron(rule, &block)
    eventbase = Ocular::DSL::EventBase.new(@proxy, &block)
    ::Ocular.logger.debug "Scheduling cron.cron(#{rule}) for block #{block}"

    id = @handler.scheduler.cron(rule, :overlap => false) do
        if @handler.cron_enabled
            context = ::Ocular::DSL::RunContext.new(@logger)
            context.log_cause("cron.cron", {:rule => rule})
            eventbase.exec(context)
        end
    end

    @proxy.events[id] = eventbase

    return id
end
every(rule, &block) click to toggle source
# File lib/ocular/inputs/cron_input.rb, line 115
def every(rule, &block)
    eventbase = Ocular::DSL::EventBase.new(@proxy, &block)
    ::Ocular.logger.debug "Scheduling cron.every(#{rule}) for block #{block}"

    id = @handler.scheduler.every(rule, :overlap => false) do
        if @handler.cron_enabled
            context = ::Ocular::DSL::RunContext.new(@logger)
            context.log_cause("cron.every", {:rule => rule})
            eventbase.exec(context)
        end
    end

    @proxy.events[id] = eventbase

    return id
end
in(rule, &block) click to toggle source
# File lib/ocular/inputs/cron_input.rb, line 81
def in(rule, &block)
    eventbase = Ocular::DSL::EventBase.new(@proxy, &block)
    ::Ocular.logger.debug "Scheduling cron.in(#{rule}) for block #{block}"

    id = @handler.scheduler.in(rule, :overlap => false) do
        if @handler.cron_enabled
            context = ::Ocular::DSL::RunContext.new(@logger)
            context.log_cause("cron.in", {:rule => rule})
            eventbase.exec(context)
        end
    end

    @proxy.events[id] = eventbase

    return id
end