hummingbird-me/kitsu-server

View on GitHub
app/services/media_follow_service.rb

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
class MediaFollowService
  attr_reader :user, :media

  def initialize(user, media)
    @user = user
    @media = media
    @klass = media.class
  end

  def create
    return if ignored?

    user.notifications.follow(media.airing_feed, scrollback: 0) unless media.status == :finished
  end

  def destroy
    user.notifications.unfollow(media.airing_feed, keep_history: true)
  end

  private

  def ignored?
    MediaIgnore.where(user: user, media: media).exists?
  end
end