FIX: ActiveModel::Types :array load error in production (#22377)

Followup to 3f1024de7698fa357d5b517b37fcb96647fcbe6e

The ActiveModel::Types.register(:array) call for chat was
called too late in the Zeitwerk load order in production,
causing this error:

> `lookup': Unknown type :array (ArgumentError)
> raise ArgumentError, "Unknown type #{symbol.inspect}"
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

We need to load the type and register it manually before the rest
of the chat files are loaded via the engine and Zeitwerk.
This commit is contained in:
Martin Brennan
2023-07-03 11:30:09 +10:00
committed by GitHub
parent 3f1024de76
commit 821cf201f5
2 changed files with 3 additions and 2 deletions

View File

@ -32,6 +32,7 @@ module ::Chat
end
require_relative "lib/chat/engine"
require_relative "lib/chat/types/array"
after_initialize do
register_seedfu_fixtures(Rails.root.join("plugins", "chat", "db", "fixtures"))
@ -496,8 +497,6 @@ after_initialize do
)
register_bookmarkable(Chat::MessageBookmarkable)
ActiveModel::Type.register(:array, Chat::Types::Array)
end
if Rails.env == "test"