From 763a09264028ef65b7d9e6b2abacba616fb81835 Mon Sep 17 00:00:00 2001 From: Zsolt Tasnadi Date: Mon, 10 Aug 2026 11:30:06 +0200 Subject: [PATCH] warp_engine: load ActiveJob itself so production eager load works The engine ships an ActiveJob based job (PipelineSyncJob), but a host's application.rb does not necessarily require active_job/railtie - apps/api does not. With eager loading off (development, test) nothing noticed; in production WarpEngine::ApplicationJob blew up with "uninitialized constant WarpEngine::ActiveJob", which is exactly what `rails zeitwerk:check` in RAILS_ENV=production reported. An engine that ships jobs has to pull in the framework it needs, so lib/warp_engine.rb requires the railtie. Pre-existing on 0.1.0 as well; found while verifying that the 0.2.0 changes do not break the portal. All three api-test steps are green now. apps/api Gemfile.lock follows the 0.1.0 -> 0.2.0 path gem bump. --- apps/api/Gemfile.lock | 2 +- libs/ruby/warp_engine/lib/warp_engine.rb | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/api/Gemfile.lock b/apps/api/Gemfile.lock index 006e430..cf1a3b9 100644 --- a/apps/api/Gemfile.lock +++ b/apps/api/Gemfile.lock @@ -1,7 +1,7 @@ PATH remote: ../libs/ruby/warp_engine specs: - warp_engine (0.1.0) + warp_engine (0.2.0) apipie-rails blueprinter rails (>= 8.0) diff --git a/libs/ruby/warp_engine/lib/warp_engine.rb b/libs/ruby/warp_engine/lib/warp_engine.rb index 0a4ceee..7ba007b 100644 --- a/libs/ruby/warp_engine/lib/warp_engine.rb +++ b/libs/ruby/warp_engine/lib/warp_engine.rb @@ -1,3 +1,9 @@ +# Az engine ActiveJob-ra épülő jobot szállít (PipelineSyncJob), ezért a +# framework betöltése a mi dolgunk: a host application.rb-je nem feltétlenül +# require-öli az active_job/railtie-t, és eager loadnál (production) a +# WarpEngine::ApplicationJob különben uninitialized constant-tal elszáll. +require "active_job/railtie" + require "blueprinter" require "apipie-rails"