Skip to content

Commit

Permalink
Add delayed_job async handler
Browse files Browse the repository at this point in the history
  • Loading branch information
Jon de Andres committed Apr 13, 2016
1 parent a0a6d36 commit bed9150
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 0 deletions.
6 changes: 6 additions & 0 deletions lib/rollbar/configuration.rb
Original file line number Diff line number Diff line change
Expand Up @@ -118,6 +118,12 @@ def initialize_copy(orig)
end
end

def use_delayed_job
require 'rollbar/delay/delayed_job'
@use_async = true
@async_handler = Rollbar::Delay::DelayedJob
end

def use_sidekiq(options = {})
require 'rollbar/delay/sidekiq' if defined?(Sidekiq)
@use_async = true
Expand Down
15 changes: 15 additions & 0 deletions lib/rollbar/delay/delayed_job.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
module Rollbar
module Delay
class DelayedJob
class << self
def call(payload)
new.delay.call(payload)
end
end

def call(payload)
Rollbar.process_from_async_handler(payload)
end
end
end
end
20 changes: 20 additions & 0 deletions spec/rollbar/delay/delayed_job_spec.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
require 'spec_helper'

require 'delayed_job'
require 'delayed/worker'
require 'rollbar/delay/delayed_job'

describe Rollbar::Delay::DelayedJob do
before do
h Delayed::Worker.delay_jobs = false
end

describe '.call' do
let(:payload) { {} }
it 'calls Rollbar' do
expect(Rollbar).to receive(:process_from_async_handler).with(payload)

Rollbar::Delay::DelayedJob.call(payload)
end
end
end

0 comments on commit bed9150

Please sign in to comment.