Module: Awardable
- Extended by:
- ActiveSupport::Concern
- Included in:
- AntiAbuse::Reports::Note, Issuable, Note, Snippet
- Defined in:
- app/models/concerns/awardable.rb
Instance Method Summary collapse
- #awarded_emoji?(emoji_name, current_user) ⇒ Boolean
- #downvotes ⇒ Object
- #emoji_awardable? ⇒ Boolean
- #grouped_awards(with_thumbs: true) ⇒ Object
- #upvotes ⇒ Object
- #user_authored?(current_user) ⇒ Boolean
- #user_can_award?(current_user) ⇒ Boolean
Instance Method Details
#awarded_emoji?(emoji_name, current_user) ⇒ Boolean
113 114 115 |
# File 'app/models/concerns/awardable.rb', line 113 def awarded_emoji?(emoji_name, current_user) award_emoji.named(emoji_name).awarded_by(current_user).exists? end |
#downvotes ⇒ Object
91 92 93 |
# File 'app/models/concerns/awardable.rb', line 91 def downvotes award_emoji.downvotes.count end |
#emoji_awardable? ⇒ Boolean
99 100 101 |
# File 'app/models/concerns/awardable.rb', line 99 def emoji_awardable? true end |
#grouped_awards(with_thumbs: true) ⇒ Object
79 80 81 82 83 84 85 86 87 88 89 |
# File 'app/models/concerns/awardable.rb', line 79 def grouped_awards(with_thumbs: true) # By default we always load award_emoji user association awards = award_emoji.group_by(&:name) if with_thumbs && (!project || project.show_default_award_emojis?) awards[AwardEmoji::UPVOTE_NAME] ||= [] awards[AwardEmoji::DOWNVOTE_NAME] ||= [] end awards end |
#upvotes ⇒ Object
95 96 97 |
# File 'app/models/concerns/awardable.rb', line 95 def upvotes award_emoji.upvotes.count end |
#user_authored?(current_user) ⇒ Boolean
107 108 109 110 111 |
# File 'app/models/concerns/awardable.rb', line 107 def (current_user) = self.respond_to?(:author) ? self. : self.user == current_user end |