add user similarity report
This commit is contained in:
33
app/logical/reports/user_similarity.rb
Normal file
33
app/logical/reports/user_similarity.rb
Normal file
@@ -0,0 +1,33 @@
|
||||
module Reports
|
||||
class UserSimilarity
|
||||
attr_reader :user_id
|
||||
|
||||
def initialize(user_id)
|
||||
@user_id = user_id
|
||||
end
|
||||
|
||||
def user
|
||||
User.find(user_id)
|
||||
end
|
||||
|
||||
def fetch_similar_user_ids
|
||||
return NotImplementedError unless Danbooru.config.report_server
|
||||
|
||||
params = {
|
||||
"key" => Danbooru.config.shared_remote_key,
|
||||
"user_id" => user_id
|
||||
}
|
||||
uri = URI.parse("#{Danbooru.config.listbooru_server}/reports/user_similarity")
|
||||
uri.query = URI.encode_www_form(params)
|
||||
|
||||
Net::HTTP.start(uri.host, uri.port) do |http|
|
||||
resp = http.request_get(uri.request_uri)
|
||||
if resp.is_a?(Net::HTTPSuccess)
|
||||
resp.body
|
||||
else
|
||||
raise "HTTP error code: #{resp.code} #{resp.message}"
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user