class Demandbase::DomainRecord
Public Class Methods
cleanse_domain(domain)
click to toggle source
Clean the domain of things like ‘http(s)://’, ‘www’, ‘?foo=bar’, etc.
Return the domain string.
# File lib/demandbase/domain_record.rb, line 72 def self.cleanse_domain(domain) domain.downcase! domain = domain.sub(/^https?\:\/\//, '').sub(/^www./,'') domain = domain.split( "/").first domain = domain.split("@").last domain = PublicSuffix.parse(domain) domain = "#{domain.sld}.#{domain.tld}" domain end
is_domain(query)
click to toggle source
Ascertain whether the given query string is a valid domain name.
Returns true if it’s a valid domain name; false otherwise.
# File lib/demandbase/domain_record.rb, line 12 def self.is_domain(query) begin result = PublicSuffix.valid?((Demandbase::DomainRecord.cleanse_domain(query))) result rescue => e false end end
new(domain)
click to toggle source
Instantiate a new Demandbase
Domain Record
from a domain name.
# File lib/demandbase/domain_record.rb, line 22 def initialize(domain) raise Demandbase::RTIDNotSetError if rtid_key.nil? begin query = Demandbase::DomainRecord.cleanse_domain(domain) url = api_url + "&query=#{query}" rescue => e raise Demandbase::ParseError end begin response = JSON.parse(RestClient.get(url)) return nil unless response["domain"] @company_name = response["domain"]["company_name"] @demandbase_sid = response["domain"]["demandbase_sid"] @marketing_alias = response["domain"]["marketing_alias"] @industry = response["domain"]["industry"] @sub_industry = response["domain"]["sub_industry"] @employee_count = response["domain"]["employee_count"] @primary_sic = response["domain"]["primary_sic"] @street_address = response["domain"]["street_address"] @city = response["domain"]["city"] @state = response["domain"]["state"] @zip = response["domain"]["zip"] @country = response["domain"]["country"] @country_name = response["domain"]["country_name"] @phone = response["domain"]["phone"] @stock_ticker = response["domain"]["stock_ticker"] @web_site = response["domain"]["web_site"] @annual_sales = response["domain"]["annual_sales"] @revenue_range = response["domain"]["revenue_range"] @employee_range = response["domain"]["employee_range"] @b2b = response["domain"]["b2b"] @b2c = response["domain"]["b2c"] @traffic = response["domain"]["traffic"] @latitude = response["domain"]["latitude"] @longitude = response["domain"]["longitude"] @fortune_1000 = response["domain"]["fortune_1000"] @forbes_2000 = response["domain"]["forbes_2000"] rescue => e raise ServerError end end
Public Instance Methods
api_url()
click to toggle source
Return the base URL for the Demandbase
domain API
# File lib/demandbase/domain_record.rb, line 5 def api_url "http://api.demandbase.com/api/v1/domain.json?key=#{rtid_key}" end