From a082eb75f58e9208f3e1c5224aedaca2aebba558 Mon Sep 17 00:00:00 2001 From: Kevin McConnell Date: Thu, 9 Jan 2025 18:06:45 +0000 Subject: [PATCH] Track events for new comments too --- app/models/bubble/commentable.rb | 3 ++- app/models/event.rb | 2 +- app/models/event/comment.rb | 11 +++++++++++ app/models/message.rb | 2 +- app/models/notifier/commented.rb | 10 ++++++++++ 5 files changed, 25 insertions(+), 3 deletions(-) create mode 100644 app/models/event/comment.rb create mode 100644 app/models/notifier/commented.rb diff --git a/app/models/bubble/commentable.rb b/app/models/bubble/commentable.rb index f80f34777..152eeb7a0 100644 --- a/app/models/bubble/commentable.rb +++ b/app/models/bubble/commentable.rb @@ -5,8 +5,9 @@ module Bubble::Commentable scope :ordered_by_comments, -> { order comments_count: :desc } end - def comment_created + def comment_created(comment) increment! :comments_count + track_event :commented, comment_id: comment.id rescore end diff --git a/app/models/event.rb b/app/models/event.rb index 006e25ed0..0c01b1f45 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -1,5 +1,5 @@ class Event < ApplicationRecord - include Assignments, Stages + include Assignments, Comment, Stages belongs_to :creator, class_name: "User" belongs_to :summary, touch: true, class_name: "EventSummary" diff --git a/app/models/event/comment.rb b/app/models/event/comment.rb new file mode 100644 index 000000000..f6237e7b5 --- /dev/null +++ b/app/models/event/comment.rb @@ -0,0 +1,11 @@ +module Event::Comment + extend ActiveSupport::Concern + + included do + store_accessor :particulars, :comment_id + end + + def comment + @comment ||= Comment.find(comment_id) + end +end diff --git a/app/models/message.rb b/app/models/message.rb index f688f27dd..24e658ed3 100644 --- a/app/models/message.rb +++ b/app/models/message.rb @@ -10,7 +10,7 @@ class Message < ApplicationRecord private def created - bubble.comment_created if comment? + bubble.comment_created(comment) if comment? end def destroyed diff --git a/app/models/notifier/commented.rb b/app/models/notifier/commented.rb new file mode 100644 index 000000000..aad76a591 --- /dev/null +++ b/app/models/notifier/commented.rb @@ -0,0 +1,10 @@ +class Notifier::Commented < Notifier + private + def body + "#{creator.name} commented on: #{bubble.title}" + end + + def recipients + bubble.bucket.users.without(creator) + end +end