Add PerformerProxy

This commit is contained in:
Dzmitry Plashchynski
2015-03-02 22:03:18 +02:00
parent 2fd061a523
commit 6b185c44ac
4 changed files with 29 additions and 1 deletions

View File

@@ -5,3 +5,4 @@ require "active_support/all"
require "periodicity/version.rb" require "periodicity/version.rb"
require "periodicity/period.rb" require "periodicity/period.rb"
require "periodicity/config.rb" require "periodicity/config.rb"
require "periodicity/performer_proxy.rb"

View File

@@ -0,0 +1,15 @@
module Periodicity
class PerformerProxy
def initialize(performer)
@performer = performer
end
def every(period, *args)
Config.instance.schedule += [@performer, Period.new(period, *args)]
end
end
def self.perform(performer)
PerformerProxy.new(performer)
end
end

View File

@@ -0,0 +1,13 @@
require "spec_helper"
require "active_job"
class TestJob < ActiveJob::Base
def perform;end
end
describe Periodicity::PerformerProxy do
it "should add job and period to schedule" do
Periodicity.perform(TestJob).every(2.days, at: "15:30")
expect(Periodicity::Config.instance.schedule).to_not be_empty
end
end

View File

@@ -1,7 +1,6 @@
require 'bundler/setup' require 'bundler/setup'
Bundler.setup Bundler.setup
require 'active_job'
require 'timecop' require 'timecop'
require 'periodicity' require 'periodicity'