I encountered this because searchkick now raises RuntimeError: Only call searchkick once per model. I am running searchkick inside def inherited(subclass) and the changes are causing that to run again, thus raising an error.
Reproduction Steps
Not too sure what reproduction steps are relevant. At this point I don't understand the issue well enough to even know if it should be considered a bug or not.
Expected behavior
"The class" isn't loaded more than once during testing. This is the behavior in version <= 6.1.0.
Actual behavior
In version 6.2.0, the code inside def inherited(subclass) runs more than once for the "same" class, presumably because there is now another anonymous class that inherits from it.
Description
Changes introduced in https://github.com/thoughtbot/shoulda-matchers/pull/1610 are causing "the class" to load more than once. Specifically, the change to
namespace.set(name, Class.new(parent))
.I encountered this because searchkick now raises
RuntimeError: Only call searchkick once per model
. I am runningsearchkick
insidedef inherited(subclass)
and the changes are causing that to run again, thus raising an error.Reproduction Steps
Not too sure what reproduction steps are relevant. At this point I don't understand the issue well enough to even know if it should be considered a bug or not.
Expected behavior
"The class" isn't loaded more than once during testing. This is the behavior in version <= 6.1.0.
Actual behavior
In version 6.2.0, the code inside
def inherited(subclass)
runs more than once for the "same" class, presumably because there is now another anonymous class that inherits from it.System configuration
shoulda_matchers version: 6.2.0 rails version: 7.1.3.4 ruby version: 3.3.0