discourse/plugins/discourse-narrative-bot/app/jobs/regular/bot_input.rb
Alan Guo Xiang Tan 3491642f98
DEV: Make discourse_narrative_bot use Rails autoload (#26044)
Why this change?

Instead of manually loading files, we should just structure the plugin
so that it relies on Rails autoload strategy and avoid all the manual
`require_relative`s.

What does this change do?

1. Structure the plugin to use Rails autoloading convention
2. Remove onceff jobs that were added 5-6 years ago. There is no need to
   carry these jobs anymore after such a long time.
3. Move setting of `SiteSetting.discourse_narrative_bot_enabled` to
   `false` in the test environment from core into the plugin.
2024-03-06 11:14:53 +08:00

21 lines
476 B
Ruby

# frozen_string_literal: true
module Jobs
class BotInput < ::Jobs::Base
sidekiq_options queue: "critical", retry: false
def execute(args)
return unless user = User.find_by(id: args[:user_id])
I18n.with_locale(user.effective_locale) do
::DiscourseNarrativeBot::TrackSelector.new(
args[:input].to_sym,
user,
post_id: args[:post_id],
topic_id: args[:topic_id],
).select
end
end
end
end