Ich habe den Code sorgfältig studiert und festgestellt, dass score_to_hide_post durch die folgenden drei Methoden bestimmt wird:
def self.sensitivity_score_value(sensitivity, scale)
return Float::MAX if sensitivity == 0
ratio = sensitivity / sensitivities[:low].to_f
high =
(PluginStore.get("reviewables", "priority_#{priorities[:high]}") || typical_sensitivity).to_f
# Wir wollen, dass dies schwer zu erreichen ist
((high.to_f * ratio) * scale).truncate(2)
end
def self.sensitivity_score(sensitivity, scale: 1.0)
# Wenn der Score niedriger als die Standard-Sichtbarkeit ist, erhöhen wir ihn auf dieses Niveau.
# Andernfalls haben wir die verwirrende Situation, dass ein Beitrag ausgeblendet wird und
# Moderatoren ihn nie sehen würden!
[sensitivity_score_value(sensitivity, scale), min_score_for_priority].max
end
def self.score_required_to_hide_post
sensitivity_score(SiteSetting.hide_post_sensitivity)
end
Anders ausgedrückt:
score_to_hide_post = ((high.to_f * ratio) * scale).truncate(2)
wobei
high.to_funerwartet 0 sein kann (normalerweise sollte es ein positiver Wert sein),ratio = sensitivity / sensitivities[:low].to_f,sensitivityaus der Einstellung stammt (z. B. 3, 6 oder 9),sensitivities[:low]= 9,scale = 1.0.
Das bedeutet, score_to_hide_post sollte niemals 0 sein, daher ist es eindeutig ein Fehler, wenn es 0 wird.