class WhoisXMLAPI::Result
Public Instance Methods
complete?()
click to toggle source
# File lib/whoisxmlapi/result.rb, line 70 def complete? ( self.domain and self.registrar and ( self.registrant or self.admin or self.tech) ) end
contact_email(contact)
click to toggle source
# File lib/whoisxmlapi/result.rb, line 83 def contact_email(contact) case contact when :registrant registrant ? registrant.email : nil when :admin admin ? admin.email : nil when :tech tech ? tech.email : nil when :billing billing ? billing.email : nil else nil end end
contact_email_host(contact)
click to toggle source
# File lib/whoisxmlapi/result.rb, line 99 def contact_email_host(contact) email = contact_email(contact) host = email.squish.split("@").last.downcase if email.present? && email.include?("@") PublicSuffix.valid?(host) ? host : nil end
parse(record)
click to toggle source
# File lib/whoisxmlapi/result.rb, line 33 def parse(record) self.domain = record['domainName'] self.data_error = record['dataError'] ? record['dataError'] : nil self.status = record['status'] ? record['status'] : nil if record['registryData'] self.record_created = record['registryData']['createdDate'] self.record_updated = record['registryData']['updatedDate'] self.record_expires = record['registryData']['expiresDate'] else res = WhoisXMLAPI::UnParsable.new res.parse(record) return res end self.registrar = record['registrarName'] self.nameservers = record['nameServers'] ? record['nameServers']['hostNames'] : (record['registryData'] && record['registryData']['nameServers'] ? record['registryData']['nameServers']['hostNames'] : nil) registrant_data = record['registrant'] || (record['registryData'] ? record['registryData']['registrant'] : nil) if registrant_data.nil? res = WhoisXMLAPI::UnParsable.new res.parse(record) return res end # more "optional" data administrative_data = record['administrativeContact'] || (record['registryData'] ? record['registryData']['administrativeContact'] : nil) technical_data = record['technicalContact'] || (record['registryData'] ? record['registryData']['technicalContact'] : nil) billing_data = record['billingContact'] || (record['registryData'] ? record['registryData']['billingContact'] : nil) self.registrant = WhoisXMLAPI::Contact.selectively_create_from_hash(registrant_data.merge({'email' => record['contactEmail']})) if registrant_data self.admin = WhoisXMLAPI::Contact.selectively_create_from_hash(administrative_data) if administrative_data self.tech = WhoisXMLAPI::Contact.selectively_create_from_hash(technical_data) if technical_data self.billing = WhoisXMLAPI::Contact.selectively_create_from_hash(billing_data) if billing_data end
private?()
click to toggle source
# File lib/whoisxmlapi/result.rb, line 75 def private? %w/networksolutionsprivateregistration.com domainprivacygroup.com/.each do |priv| return true if self.registrant.email =~ /#{priv}/ end false end