Skip to content

Commit 989a2da

Browse files
committed
Merge branch 'noteflight-kh_class'
Conflicts: lib/active_scheduler/resque_wrapper.rb
2 parents 822f091 + 2b67eaa commit 989a2da

File tree

3 files changed

+30
-6
lines changed

3 files changed

+30
-6
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,3 +22,4 @@
2222
.DS_Store
2323
/.rvmrc
2424
/.yardoc
25+
.idea/

lib/active_scheduler/resque_wrapper.rb

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ def self.wrap(schedule)
2323

2424
schedule.each do |job, opts|
2525
class_name = opts[:class] || job
26-
next if class_name =~ /ActiveScheduler::ResqueWrapper/
26+
next if class_name =~ /#{self.to_s}/
2727

2828
klass = class_name.constantize
2929
next unless klass <= ActiveJob::Base
@@ -40,13 +40,13 @@ def self.wrap(schedule)
4040
end
4141

4242
schedule[job] = {
43-
class: 'ActiveScheduler::ResqueWrapper',
43+
class: self.to_s,
4444
queue: queue,
4545
args: [{
46-
job_class: class_name,
47-
queue_name: queue,
48-
arguments: args,
49-
}]
46+
job_class: class_name,
47+
queue_name: queue,
48+
arguments: args,
49+
}]
5050
}
5151

5252
schedule[job][:args].first.merge!({ named_args: named_args }) if named_args

spec/active_scheduler/resque_wrapper_spec.rb

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,29 @@
3737
)
3838
end
3939
end
40+
41+
context 'with a custom wrapper class' do
42+
class CustomWrapper < ActiveScheduler::ResqueWrapper
43+
end
44+
45+
let(:schedule) { YAML.load_file 'spec/fixtures/simple_job.yaml' }
46+
47+
it "queues up a simple job" do
48+
stub_jobs("SimpleJob")
49+
expect(CustomWrapper.wrap(schedule)['simple_job']).to eq(
50+
"class" => "CustomWrapper",
51+
"queue" => "simple",
52+
"description" => "It's a simple job.",
53+
"every" => "30s",
54+
"rails_env" => "test",
55+
"args" => [{
56+
"job_class" => "SimpleJob",
57+
"queue_name" => "simple",
58+
"arguments" => ['foo-arg-1', 'foo-arg-2'],
59+
}]
60+
)
61+
end
62+
end
4063
end
4164

4265
context "with a simple job json" do

0 commit comments

Comments
 (0)