* Add created_at to comment notification data * Remove notifiable usage from notifications partials * Fix typo
78 lines
2 KiB
Ruby
78 lines
2 KiB
Ruby
module Notifications
|
|
def self.user_data(user)
|
|
{
|
|
id: user.id,
|
|
class: { name: "User" },
|
|
name: user.name,
|
|
username: user.username,
|
|
path: user.path,
|
|
profile_image_90: user.profile_image_90,
|
|
comments_count: user.comments_count,
|
|
created_at: user.created_at
|
|
}
|
|
end
|
|
|
|
def self.comment_data(comment)
|
|
{
|
|
id: comment.id,
|
|
class: { name: "Comment" },
|
|
path: comment.path,
|
|
processed_html: comment.processed_html,
|
|
created_at: comment.created_at,
|
|
updated_at: comment.updated_at,
|
|
ancestry: comment.ancestry,
|
|
depth: comment.depth,
|
|
ancestors: ancestor_data(comment),
|
|
commentable: {
|
|
id: comment.commentable.id,
|
|
title: comment.commentable.title,
|
|
path: comment.commentable.path,
|
|
class: {
|
|
name: comment.commentable.class.name
|
|
}
|
|
}
|
|
}
|
|
end
|
|
|
|
def self.article_data(article)
|
|
{
|
|
id: article.id,
|
|
cached_tag_list_array: article.decorate.cached_tag_list_array,
|
|
class: { name: "Article" },
|
|
title: article.title,
|
|
path: article.path,
|
|
updated_at: article.updated_at,
|
|
published_at: article.published_at,
|
|
readable_publish_date: article.readable_publish_date,
|
|
reading_time: article.reading_time
|
|
}
|
|
end
|
|
|
|
def self.organization_data(organization)
|
|
{
|
|
id: organization.id,
|
|
class: { name: "Organization" },
|
|
name: organization.name,
|
|
slug: organization.slug,
|
|
path: organization.path,
|
|
profile_image_90: organization.profile_image_90
|
|
}
|
|
end
|
|
|
|
def self.ancestor_data(comment)
|
|
comment.ancestors.includes(:user).map do |ancestor|
|
|
{
|
|
id: ancestor.id,
|
|
title: ancestor.title,
|
|
path: ancestor.path,
|
|
ancestry: ancestor.ancestry,
|
|
depth: ancestor.depth,
|
|
user: {
|
|
username: ancestor.user.username,
|
|
name: ancestor.user.name
|
|
}
|
|
}
|
|
end
|
|
end
|
|
private_class_method :ancestor_data
|
|
end
|