diff options
author | ThibG <thib@sitedethib.com> | 2020-12-19 02:17:02 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-12-19 02:17:02 +0100 |
commit | 79c57810b7fea1962c9746d74c90235ad4e3e899 (patch) | |
tree | 6ec332dd20fa4ce8de954d8e260cce3f2dc67aee /app/models/domain_block.rb | |
parent | 92cfcf168cae094ece281b3cb6d0f5b1539a8c25 (diff) | |
parent | 5c966bef8b6aa116cfa2102e83e42d0fe421f3fc (diff) |
Merge pull request #1477 from ThibG/glitch-soc/merge-upstream
Merge upstream changes
Diffstat (limited to 'app/models/domain_block.rb')
-rw-r--r-- | app/models/domain_block.rb | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/app/models/domain_block.rb b/app/models/domain_block.rb index 829d7583b..bba04c603 100644 --- a/app/models/domain_block.rb +++ b/app/models/domain_block.rb @@ -12,6 +12,7 @@ # reject_reports :boolean default(FALSE), not null # private_comment :text # public_comment :text +# obfuscate :boolean default(FALSE), not null # class DomainBlock < ApplicationRecord @@ -73,4 +74,23 @@ class DomainBlock < ApplicationRecord scope = suspend? ? accounts.where(suspended_at: created_at) : accounts.where(silenced_at: created_at) scope.count end + + def public_domain + return domain unless obfuscate? + + length = domain.size + visible_ratio = length / 4 + + domain.chars.map.with_index do |chr, i| + if i > visible_ratio && i < length - visible_ratio && chr != '.' + '*' + else + chr + end + end.join + end + + def domain_digest + Digest::SHA256.hexdigest(domain) + end end |