Module: Awardable
- Extended by:
- ActiveSupport::Concern
- 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
105 106 107 |
# File 'app/models/concerns/awardable.rb', line 105 def awarded_emoji?(emoji_name, current_user) award_emoji.named(emoji_name).awarded_by(current_user).exists? end |
#downvotes ⇒ Object
83 84 85 |
# File 'app/models/concerns/awardable.rb', line 83 def downvotes award_emoji.downvotes.count end |
#emoji_awardable? ⇒ Boolean
91 92 93 |
# File 'app/models/concerns/awardable.rb', line 91 def emoji_awardable? true end |
#grouped_awards(with_thumbs: true) ⇒ Object
71 72 73 74 75 76 77 78 79 80 81 |
# File 'app/models/concerns/awardable.rb', line 71 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
87 88 89 |
# File 'app/models/concerns/awardable.rb', line 87 def upvotes award_emoji.upvotes.count end |
#user_authored?(current_user) ⇒ Boolean
99 100 101 102 103 |
# File 'app/models/concerns/awardable.rb', line 99 def (current_user) = self.respond_to?(:author) ? self. : self.user == current_user end |