Recommend posts on /posts/show based on voting patterns
This commit is contained in:
26
app/models/recommender_service.rb
Normal file
26
app/models/recommender_service.rb
Normal file
@@ -0,0 +1,26 @@
|
||||
module RecommenderService
|
||||
extend self
|
||||
|
||||
def enabled?
|
||||
Danbooru.config.recommender_server.present?
|
||||
end
|
||||
|
||||
def available?(post)
|
||||
enabled? && CurrentUser.id == 1 && post.created_at > 6.months.ago && post.score >= 10
|
||||
end
|
||||
|
||||
def similar(post)
|
||||
Cache.get("rss:#{post.id}", 1.day) do
|
||||
resp = HTTParty.get(
|
||||
"#{Danbooru.config.recommender_server}/similar/#{post.id}",
|
||||
Danbooru.config.httparty_options.merge(
|
||||
basic_auth: {
|
||||
username: "danbooru",
|
||||
password: Danbooru.config.recommender_key
|
||||
}
|
||||
)
|
||||
)
|
||||
JSON.parse(resp.body)
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user