You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
18 lines
342 B
18 lines
342 B
# 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&.strip)
|
|
rescue Addressable::URI::InvalidURIError
|
|
errors.add(:domain, :invalid)
|
|
end
|
|
end
|