mirror of
https://github.com/mastodon/mastodon.git
synced 2024-12-11 21:56:13 +01:00
Create DomainNormalizable#normalize_domain (#9631)
This commit is contained in:
parent
bf70e5cfda
commit
0c1e4bb969
@ -59,6 +59,7 @@ class Account < ApplicationRecord
|
||||
include Attachmentable
|
||||
include Paginable
|
||||
include AccountCounters
|
||||
include DomainNormalizable
|
||||
|
||||
enum protocol: [:ostatus, :activitypub]
|
||||
|
||||
@ -457,7 +458,6 @@ class Account < ApplicationRecord
|
||||
end
|
||||
|
||||
before_create :generate_keys
|
||||
before_validation :normalize_domain
|
||||
before_validation :prepare_contents, if: :local?
|
||||
before_destroy :clean_feed_manager
|
||||
|
||||
@ -479,7 +479,7 @@ class Account < ApplicationRecord
|
||||
def normalize_domain
|
||||
return if local?
|
||||
|
||||
self.domain = TagManager.instance.normalize_domain(domain)
|
||||
super
|
||||
end
|
||||
|
||||
def emojifiable_text
|
||||
|
15
app/models/concerns/domain_normalizable.rb
Normal file
15
app/models/concerns/domain_normalizable.rb
Normal file
@ -0,0 +1,15 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module DomainNormalizable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
included do
|
||||
before_validation :normalize_domain
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def normalize_domain
|
||||
self.domain = TagManager.instance.normalize_domain(domain)
|
||||
end
|
||||
end
|
@ -13,6 +13,8 @@
|
||||
#
|
||||
|
||||
class DomainBlock < ApplicationRecord
|
||||
include DomainNormalizable
|
||||
|
||||
enum severity: [:silence, :suspend, :noop]
|
||||
|
||||
attr_accessor :retroactive
|
||||
@ -25,12 +27,4 @@ class DomainBlock < ApplicationRecord
|
||||
def self.blocked?(domain)
|
||||
where(domain: domain, severity: :suspend).exists?
|
||||
end
|
||||
|
||||
before_validation :normalize_domain
|
||||
|
||||
private
|
||||
|
||||
def normalize_domain
|
||||
self.domain = TagManager.instance.normalize_domain(domain)
|
||||
end
|
||||
end
|
||||
|
@ -10,7 +10,7 @@
|
||||
#
|
||||
|
||||
class EmailDomainBlock < ApplicationRecord
|
||||
before_validation :normalize_domain
|
||||
include DomainNormalizable
|
||||
|
||||
validates :domain, presence: true, uniqueness: true
|
||||
|
||||
@ -27,10 +27,4 @@ class EmailDomainBlock < ApplicationRecord
|
||||
|
||||
where(domain: domain).exists?
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def normalize_domain
|
||||
self.domain = TagManager.instance.normalize_domain(domain)
|
||||
end
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user