Я создал функцию для Строка от класса до Открытые классы техника для Моя цель .
class String
def to_dn
return '' if self.blank?
return self.split('@').last if self.match('@')
link = self
link = "http://#{link}" unless link.match(/^(http:\/\/|https:\/\/)/)
link = URI.parse(URI.encode(link)).host.present? ? URI.parse(URI.encode(link)).host : link.strip
domain_name = link.sub(/.*?www./,'')
domain_name = domain_name.match(/[A-Z]+.[A-Z]{2,4}$/i).to_s if domain_name.split('.').length >= 2 && domain_name.match(/[A-Z]+.[A-Z]{2,4}$/i).present?
end
end
Пример:
1. "https://www.facebook.com/someuser".to_dn = "facebook.com"
2. "www.facebook.com/someuser".to_dn = "facebook.com"
3. "facebook.com/someuser".to_dn = "facebook.com"
4. "http://someuser.tumblr.com".to_dn = "tumblr.com"
5. "dc.ads.linkedin.com".to_dn = "linkedin.com"
6. 'your_name@domain.com'.to_dn = "domain.com"
Это также работает для адресов электронной почты (которые требуются для моей цели). Надеюсь, что это будет полезно для других. Поправь меня, если найдешь что-то неправильное:)
Примечание: Это не будет работать для www.domainname.co.in. Я работаю над этим:)