diff --git a/app/models/solid_queue/record.rb b/app/models/solid_queue/record.rb index efee954c..8f13299b 100644 --- a/app/models/solid_queue/record.rb +++ b/app/models/solid_queue/record.rb @@ -3,3 +3,5 @@ class Record < ActiveRecord::Base self.abstract_class = true end end + +ActiveSupport.run_load_hooks :solid_queue_record, SolidQueue::Record diff --git a/test/dummy/config/initializers/solid_queue_record.rb b/test/dummy/config/initializers/solid_queue_record.rb new file mode 100644 index 00000000..72e237fe --- /dev/null +++ b/test/dummy/config/initializers/solid_queue_record.rb @@ -0,0 +1,6 @@ +Rails.application.config.x.solid_queue_record_hook_ran = false + +ActiveSupport.on_load(:solid_queue_record) do + raise "Expected to run on SolidQueue::Record, got #{self.inspect}" unless self == SolidQueue::Record + Rails.application.config.x.solid_queue_record_hook_ran = true +end diff --git a/test/unit/hooks_test.rb b/test/unit/hooks_test.rb new file mode 100644 index 00000000..f6db1718 --- /dev/null +++ b/test/unit/hooks_test.rb @@ -0,0 +1,7 @@ +require "test_helper" + +class HooksTest < ActiveSupport::TestCase + test "solid_queue_record hook ran" do + assert Rails.application.config.x.solid_queue_record_hook_ran + end +end