remove similar users report
This commit is contained in:
@@ -1,48 +0,0 @@
|
||||
class UserSimilarityPresenter
|
||||
attr_reader :report, :user_ids, :user_ids_with_scores, :not_ready
|
||||
|
||||
def initialize(report)
|
||||
@report = report
|
||||
fetch
|
||||
end
|
||||
|
||||
def not_ready?
|
||||
not_ready
|
||||
end
|
||||
|
||||
def insufficient_data?
|
||||
report.user.favorite_count < 200
|
||||
end
|
||||
|
||||
def fetch
|
||||
data = report.fetch_similar_user_ids
|
||||
|
||||
if data == Reports::UserSimilarity::NOT_READY_STRING
|
||||
@not_ready = true
|
||||
else
|
||||
@user_ids_with_scores = data.scan(/\S+/).in_groups_of(2)
|
||||
end
|
||||
end
|
||||
|
||||
def user_ids
|
||||
user_ids_with_scores.map(&:first)
|
||||
end
|
||||
|
||||
def scores
|
||||
user_ids_with_scores.map(&:last)
|
||||
end
|
||||
|
||||
def each_user(&block)
|
||||
user_ids_with_scores.each do |user_id, score|
|
||||
user = User.find(user_id)
|
||||
|
||||
if !user.hide_favorites?
|
||||
yield(user, 100 * score.to_f)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def each_favorite_for(user, &block)
|
||||
user.favorites.limit(18).joins(:post).reorder("favorites.id desc").map(&:post).each(&block)
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user