Skip to content

Commit 3da4f5e

Browse files
authored
DEV: fix Zeitwerk issue with SpamScanner class (#1183)
When spam scanner is enabled and code is reloaded, developer experience this error: ``` NameError at /posts =================== uninitialized constant DiscourseAi::AiModeration::EntryPoint::SpamScanner > To access an interactive console with this error, point your browser to: /__better_errors plugins/discourse-ai/lib/ai_moderation/entry_point.rb, line 7 ``` It is because when we call `SpamScanner` it is searched within parent `DiscourseAi::AiModeration::EntryPoint` namespace. We can help a bit Zeitwerk by calling SpamScanner more explicitly.
1 parent bb32d0d commit 3da4f5e

File tree

1 file changed

+10
-4
lines changed

1 file changed

+10
-4
lines changed

lib/ai_moderation/entry_point.rb

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,18 @@ module DiscourseAi
44
module AiModeration
55
class EntryPoint
66
def inject_into(plugin)
7-
plugin.on(:post_created) { |post| SpamScanner.new_post(post) }
8-
plugin.on(:post_edited) { |post| SpamScanner.edited_post(post) }
9-
plugin.on(:post_process_cooked) { |_doc, post| SpamScanner.after_cooked_post(post) }
7+
plugin.on(:post_created) { |post| ::DiscourseAi::AiModeration::SpamScanner.new_post(post) }
8+
plugin.on(:post_edited) do |post|
9+
::DiscourseAi::AiModeration::SpamScanner.edited_post(post)
10+
end
11+
plugin.on(:post_process_cooked) do |_doc, post|
12+
::DiscourseAi::AiModeration::SpamScanner.after_cooked_post(post)
13+
end
1014

1115
plugin.on(:site_setting_changed) do |name, _old_value, new_value|
12-
SpamScanner.ensure_flagging_user! if name == :ai_spam_detection_enabled && new_value
16+
if name == :ai_spam_detection_enabled && new_value
17+
::DiscourseAi::AiModeration::SpamScanner.ensure_flagging_user!
18+
end
1319
end
1420

1521
custom_filter = [

0 commit comments

Comments
 (0)