tags: remove Tag.trending method.

This is used for the frontpage taglist when popular searches are
disabled. This isn't used in production and there's no need for it in
development.
This commit is contained in:
evazion
2020-01-01 13:56:40 -06:00
parent c0171f49a6
commit 5341dc4197
3 changed files with 1 additions and 59 deletions

View File

@@ -205,45 +205,6 @@ class Tag < ApplicationRecord
end
end
module StatisticsMethods
def trending_count_limit
10
end
def trending
Cache.get("popular-tags-v3", 1.hour) do
CurrentUser.scoped(User.admins.first, "127.0.0.1") do
n = 24
counts = {}
while counts.empty? && n < 1000
tag_strings = Post.select_values_sql("select tag_string from posts where created_at >= ?", n.hours.ago)
tag_strings.each do |tag_string|
tag_string.split.each do |tag|
counts[tag] ||= 0
counts[tag] += 1
end
end
n *= 2
end
counts = counts.to_a.select {|x| x[1] > trending_count_limit}
counts = counts.map do |tag_name, recent_count|
tag = Tag.find_or_create_by_name(tag_name)
if tag.category == Tag.categories.artist
# we're not interested in artists in the trending list
[tag_name, 0]
else
[tag_name, recent_count.to_f / tag.post_count.to_f]
end
end
counts.sort_by {|x| -x[1]}.slice(0, 25).map(&:first)
end
end
end
end
concerning :NameMethods do
def unqualified_name
name.gsub(/_\(.*\)\z/, "").tr("_", " ")
@@ -956,7 +917,6 @@ class Tag < ApplicationRecord
include ApiMethods
include CountMethods
include CategoryMethods
extend StatisticsMethods
extend ParseMethods
extend SearchMethods
end

View File

@@ -35,7 +35,7 @@ module PostSetPresenters
if PopularSearchService.enabled?
PopularSearchService.new(Date.today).tags
else
Tag.trending
frequent_tags
end
end

View File

@@ -12,24 +12,6 @@ class TagTest < ActiveSupport::TestCase
CurrentUser.ip_addr = nil
end
context ".trending" do
setup do
Tag.stubs(:trending_count_limit).returns(0)
travel_to(1.week.ago) do
FactoryBot.create(:post, :tag_string => "aaa")
FactoryBot.create(:post, :tag_string => "bbb")
end
FactoryBot.create(:post, :tag_string => "bbb")
FactoryBot.create(:post, :tag_string => "ccc")
end
should "order the results by the total post count" do
assert_equal(["ccc", "bbb"], Tag.trending)
end
end
context "A tag category fetcher" do
should "fetch for a single tag" do
FactoryBot.create(:artist_tag, :name => "test")