aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJeremy Kemper <jeremykemper@gmail.com>2014-09-14 16:15:38 -0700
committerJeremy Kemper <jeremykemper@gmail.com>2014-09-14 16:15:38 -0700
commitac941096bf31a5e0957ba78df5768ec4b2014822 (patch)
tree516692b518da905be8e750be5289152126414720
parent2ceb3aada1338adae8bf731e322f9568e5df91ab (diff)
parentb820eb2027a8268a8ef8d4e9d99e319b8ebb3d78 (diff)
downloadrails-ac941096bf31a5e0957ba78df5768ec4b2014822.tar.gz
rails-ac941096bf31a5e0957ba78df5768ec4b2014822.tar.bz2
rails-ac941096bf31a5e0957ba78df5768ec4b2014822.zip
Merge pull request #16920 from seuros/aj
simplify test_adapter
-rw-r--r--activejob/lib/active_job/queue_adapters/test_adapter.rb47
1 files changed, 4 insertions, 43 deletions
diff --git a/activejob/lib/active_job/queue_adapters/test_adapter.rb b/activejob/lib/active_job/queue_adapters/test_adapter.rb
index b9997efddf..12ef72310d 100644
--- a/activejob/lib/active_job/queue_adapters/test_adapter.rb
+++ b/activejob/lib/active_job/queue_adapters/test_adapter.rb
@@ -1,52 +1,22 @@
module ActiveJob
module QueueAdapters
class TestAdapter
- attr_accessor(:perform_enqueued_jobs) { false }
- attr_accessor(:perform_enqueued_at_jobs) { false }
delegate :name, to: :class
+ attr_accessor(:perform_enqueued_jobs, :perform_enqueued_at_jobs)
+ attr_writer(:enqueued_jobs, :performed_jobs)
# Provides a store of all the enqueued jobs with the TestAdapter so you can check them.
def enqueued_jobs
@enqueued_jobs ||= []
end
- # Allows you to overwrite the default enqueued jobs store from an array to some
- # other object. If you just want to clear the store,
- # call ActiveJob::QueueAdapters::TestAdapter.enqueued_jobs.clear.
- #
- # If you place another object here, please make sure it responds to:
- #
- # * << (message)
- # * clear
- # * length
- # * size
- # * and other common Array methods
- def enqueued_jobs=(val)
- @enqueued_jobs = val
- end
-
# Provides a store of all the performed jobs with the TestAdapter so you can check them.
def performed_jobs
@performed_jobs ||= []
end
- # Allows you to overwrite the default performed jobs store from an array to some
- # other object. If you just want to clear the store,
- # call ActiveJob::QueueAdapters::TestAdapter.performed_jobs.clear.
- #
- # If you place another object here, please make sure it responds to:
- #
- # * << (message)
- # * clear
- # * length
- # * size
- # * and other common Array methods
- def performed_jobs=(val)
- @performed_jobs = val
- end
-
def enqueue(job)
- if perform_enqueued_jobs?
+ if perform_enqueued_jobs
performed_jobs << {job: job.class, args: job.arguments, queue: job.queue_name}
job.perform_now
else
@@ -55,22 +25,13 @@ module ActiveJob
end
def enqueue_at(job, timestamp)
- if perform_enqueued_at_jobs?
+ if perform_enqueued_at_jobs
performed_jobs << {job: job.class, args: job.arguments, queue: job.queue_name, at: timestamp}
job.perform_now
else
enqueued_jobs << {job: job.class, args: job.arguments, queue: job.queue_name, at: timestamp}
end
end
-
- private
- def perform_enqueued_jobs?
- perform_enqueued_jobs
- end
-
- def perform_enqueued_at_jobs?
- perform_enqueued_at_jobs
- end
end
end
end