Module: WithDiscussionCreation::Upvote
- Extended by:
- ActiveSupport::Concern
- Defined in:
- app/models/concerns/with_discussion_creation/upvote.rb
Instance Method Summary collapse
- #toggle_upvote!(discussion) ⇒ Object
- #undo_upvote!(discussion) ⇒ Object
- #upvote!(discussion) ⇒ Object
- #upvoted?(discussion) ⇒ Boolean
Instance Method Details
#toggle_upvote!(discussion) ⇒ Object
21 22 23 24 25 26 27 |
# File 'app/models/concerns/with_discussion_creation/upvote.rb', line 21 def toggle_upvote!(discussion) if upvoted?(discussion) undo_upvote!(discussion) else upvote!(discussion) end end |
#undo_upvote!(discussion) ⇒ Object
17 18 19 |
# File 'app/models/concerns/with_discussion_creation/upvote.rb', line 17 def undo_upvote!(discussion) upvoted_discussions.delete(discussion) end |
#upvote!(discussion) ⇒ Object
13 14 15 |
# File 'app/models/concerns/with_discussion_creation/upvote.rb', line 13 def upvote!(discussion) upvoted_discussions << discussion end |
#upvoted?(discussion) ⇒ Boolean
9 10 11 |
# File 'app/models/concerns/with_discussion_creation/upvote.rb', line 9 def upvoted?(discussion) discussion.upvote_for(self).present? end |