Hmm, adding a leading :: would certainly fix it… but it shouldn’t be required ![]()
Given that the call comes from within ::Jobs::ProcessPost, Ruby should work up the tree. First it’ll look for ::Jobs::ProcessPost::Jobs, then ::Jobs::Jobs, then eventually ::Jobs module.
The error you’re seeing suggests that something is defining ::Jobs::Jobs… which is weird! Taking a look on my development instance:
[1] pry(main)> Jobs::Jobs
=> Jobs::Jobs
[2] pry(main)> Jobs::Jobs.constants
=> [:RemapOldBotImages, :GrantBadges]
![]()
Looks like these lines in discourse-narrative-bot are causing issues. If I comment them out, it solves the problem.
Good news is that it’s development-only - related to the file paths of the jobs mismatching the names of the modules. Here’s a PR to clean things up:
https://github.com/discourse/discourse/pull/16924
Thanks for the report @merefield