diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 027179c..4dd7f73 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -5,6 +5,7 @@ class MessagesController < ApplicationController # TODO: Revisit auth once cancancan is installed @message = Message.new(message_params) if @message.save + GenerateReplyJob.perform_later(@message.conversation) redirect_to @message.conversation else redirect_to conversations_path diff --git a/app/jobs/generate_reply_job.rb b/app/jobs/generate_reply_job.rb new file mode 100644 index 0000000..6596840 --- /dev/null +++ b/app/jobs/generate_reply_job.rb @@ -0,0 +1,9 @@ +# frozen_string_literal: true + +class GenerateReplyJob < ApplicationJob + queue_as :default + + def perform(conversation) + conversation.messages.create(body: 'AI Reply', reply: true) + end +end diff --git a/app/models/conversation.rb b/app/models/conversation.rb index 3ea3a2f..645f0dc 100644 --- a/app/models/conversation.rb +++ b/app/models/conversation.rb @@ -4,4 +4,8 @@ class Conversation < ApplicationRecord belongs_to :user has_many :messages, dependent: :destroy + + def pending_reply? + messages.last.promt? + end end diff --git a/app/models/message.rb b/app/models/message.rb index 18d711a..1352907 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -2,4 +2,8 @@ class Message < ApplicationRecord belongs_to :conversation + + def promt? + !reply? + end end