aboutsummaryrefslogtreecommitdiff
path: root/app/models/comment.rb
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2024-03-13 18:03:43 +0100
committerMiquel Sabaté Solà <msabate@suse.com>2024-03-13 18:03:43 +0100
commita7791635aa98f012d35f97c3c5288494bbb28e38 (patch)
treebad987e6b4d10ad2f7cd02e40658d464907595ee /app/models/comment.rb
downloadoperum-a7791635aa98f012d35f97c3c5288494bbb28e38.tar.gz
operum-a7791635aa98f012d35f97c3c5288494bbb28e38.zip
Initial commit
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to 'app/models/comment.rb')
-rw-r--r--app/models/comment.rb18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/models/comment.rb b/app/models/comment.rb
new file mode 100644
index 0000000..deb6ad7
--- /dev/null
+++ b/app/models/comment.rb
@@ -0,0 +1,18 @@
+# frozen_string_literal: true
+
+class Comment < ApplicationRecord
+ validates :content, presence: true
+
+ belongs_to :thing
+
+ has_many :tag_references, as: :taggable, dependent: :destroy
+ has_many :tags, through: :tag_references
+
+ has_rich_text :content
+
+ # Returns all comments which have a content matching the given text.
+ def self.like(text:)
+ Comment.joins(:rich_text_content)
+ .where('action_text_rich_texts.body LIKE ?', "%#{text}%")
+ end
+end