Skip to content

Commit

Permalink
Fix callbacks to match encode states used by adapters.
Browse files Browse the repository at this point in the history
  • Loading branch information
cjcolvar committed Sep 17, 2018
1 parent 7f23ef8 commit 4fd602c
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 15 deletions.
8 changes: 4 additions & 4 deletions app/jobs/active_encode/polling_job.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@ class PollingJob < ActiveJob::Base
def perform(encode)
encode.run_callbacks(:status_update) { encode }
case encode.state
when :error
encode.run_callbacks(:error) { encode }
when :failed
encode.run_callbacks(:failed) { encode }
when :cancelled
encode.run_callbacks(:cancelled) { encode }
when :complete
encode.run_callbacks(:complete) { encode }
when :completed
encode.run_callbacks(:completed) { encode }
when :running
ActiveEncode::PollingJob.set(wait: ActiveEncode::Polling::POLLING_WAIT_TIME).perform_later(encode)
else # other states are illegal and ignored
Expand Down
4 changes: 2 additions & 2 deletions lib/active_encode/polling.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,13 +8,13 @@ module Polling
POLLING_WAIT_TIME = 10.seconds.freeze

CALLBACKS = [
:after_status_update, :after_error, :after_cancelled, :after_complete
:after_status_update, :after_failed, :after_cancelled, :after_completed
].freeze

included do
extend ActiveModel::Callbacks

define_model_callbacks :status_update, :error, :cancelled, :complete, only: :after
define_model_callbacks :status_update, :failed, :cancelled, :completed, only: :after

after_create do |encode|
ActiveEncode::PollingJob.set(wait: POLLING_WAIT_TIME).perform_later(encode)
Expand Down
18 changes: 9 additions & 9 deletions spec/units/polling_job_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@
class PollingEncode < ActiveEncode::Base
include ActiveEncode::Polling
after_status_update ->(encode) { encode.history << "PollingEncode ran after_status_update" }
after_error ->(encode) { encode.history << "PollingEncode ran after_error" }
after_failed ->(encode) { encode.history << "PollingEncode ran after_failed" }
after_cancelled ->(encode) { encode.history << "PollingEncode ran after_cancelled" }
after_complete ->(encode) { encode.history << "PollingEncode ran after_complete" }
after_completed ->(encode) { encode.history << "PollingEncode ran after_completed" }

def history
@history ||= []
Expand All @@ -32,12 +32,12 @@ def history
poll.perform(encode)
end

context "with job in error" do
let(:state) { :error }
context "with job failed" do
let(:state) { :failed }

it "runs after_error" do
it "runs after_failed" do
is_expected.to include("PollingEncode ran after_status_update")
is_expected.to include("PollingEncode ran after_error")
is_expected.to include("PollingEncode ran after_failed")
end

it "does not re-enqueue itself" do
Expand All @@ -58,12 +58,12 @@ def history
end
end

context "with job complete" do
let(:state) { :complete }
context "with job completed" do
let(:state) { :completed }

it "runs after_complete" do
is_expected.to include("PollingEncode ran after_status_update")
is_expected.to include("PollingEncode ran after_complete")
is_expected.to include("PollingEncode ran after_completed")
end

it "does not re-enqueue itself" do
Expand Down

0 comments on commit 4fd602c

Please sign in to comment.