summaryrefslogtreecommitdiff
path: root/app/helpers/award_emoji_helper.rb
blob: 024cf38469ec1e41c9b7d3971bab2c8df4804ec0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
module AwardEmojiHelper
  def toggle_award_url(awardable)
    return url_for([:toggle_award_emoji, awardable]) unless @project || awardable.is_a?(Note)

    if awardable.is_a?(Note)
      # We render a list of notes very frequently and calling the specific method is a lot faster than the generic one (4.5x)
      if awardable.for_personal_snippet?
        toggle_award_emoji_snippet_note_path(awardable.noteable, awardable)
      else
        toggle_award_emoji_namespace_project_note_path(@project.namespace, @project, awardable.id)
      end
    else
      url_for([:toggle_award_emoji, @project.namespace.becomes(Namespace), @project, awardable])
    end
  end
end