Sha256: 5fce1eaeddf683690a70c9c41e52629cd99ac39a9371f84294791ddc2691bb0c

Contents?: true

Size: 560 Bytes

Versions: 140

Compression:

Stored size: 560 Bytes

Contents

module WithDiscussionCreation::Upvote
  extend ActiveSupport::Concern

  included do
    has_many :upvotes
    has_many :upvoted_discussions, through: :upvotes, source: :discussion
  end

  def upvoted?(discussion)
    discussion.upvote_for(self).present?
  end

  def upvote!(discussion)
    upvoted_discussions << discussion
  end

  def undo_upvote!(discussion)
    upvoted_discussions.delete(discussion)
  end

  def toggle_upvote!(discussion)
    if upvoted?(discussion)
      undo_upvote!(discussion)
    else
      upvote!(discussion)
    end
  end
end

Version data entries

140 entries across 140 versions & 2 rubygems

Version Path
mumuki-domain-9.23.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.22.1 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.22.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.21.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.20.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.19.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.18.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.17.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.16.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.15.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.14.1 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.14.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.13.1 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.13.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.12.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.11.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.10.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.9.0 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.8.1 app/models/concerns/with_discussion_creation/upvote.rb
mumuki-domain-9.8.0 app/models/concerns/with_discussion_creation/upvote.rb