Module: SimpleDiscussion::ForumPostsHelper

Defined in:
app/helpers/simple_discussion/forum_posts_helper.rb

Instance Method Summary collapse

Instance Method Details

#avatar_tag(email) ⇒ Object

Override this to use avatars from other places than Gravatar



3
4
5
# File 'app/helpers/simple_discussion/forum_posts_helper.rb', line 3

def avatar_tag(email)
  image_tag gravatar_url_for(email, size: 40), class: "rounded avatar"
end


7
8
9
10
# File 'app/helpers/simple_discussion/forum_posts_helper.rb', line 7

def category_link(category)
  link_to category.name, simple_discussion.forum_category_forum_threads_path(category),
    style: "color: #{category.color}"
end

#formatted_content(text) ⇒ Object

Override this method to provide your own content formatting like Markdown



13
14
15
# File 'app/helpers/simple_discussion/forum_posts_helper.rb', line 13

def formatted_content(text)
  simple_format(text)
end

#forum_post_classes(forum_post) ⇒ Object



17
18
19
20
21
22
# File 'app/helpers/simple_discussion/forum_posts_helper.rb', line 17

def forum_post_classes(forum_post)
  klasses = ["forum-post", "card", "mb-3"]
  klasses << "solved" if forum_post.solved?
  klasses << "original-poster" if forum_post.user == @forum_thread.user
  klasses
end

#forum_user_badge(user) ⇒ Object



24
25
26
27
28
# File 'app/helpers/simple_discussion/forum_posts_helper.rb', line 24

def forum_user_badge(user)
  if user.respond_to?(:moderator) && user.moderator?
     :span, "Mod", class: "badge badge-default"
  end
end

#gravatar_url_for(email, **options) ⇒ Object



30
31
32
33
34
# File 'app/helpers/simple_discussion/forum_posts_helper.rb', line 30

def gravatar_url_for(email, **options)
  hash = Digest::MD5.hexdigest(email&.downcase || "")
  options.reverse_merge!(default: :mp, rating: :pg, size: 48)
  "https://secure.gravatar.com/avatar/#{hash}.png?#{options.to_param}"
end