18 lines
342 B
Ruby
18 lines
342 B
Ruby
# 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
|