class DataComApi::Responses::CompanyContactCount

Attributes

id[R]

Public Class Methods

new(api_client, company_id, received_options) click to toggle source
Calls superclass method DataComApi::Responses::Base::new
# File lib/data-com-api/responses/company_contact_count.rb, line 11
def initialize(api_client, company_id, received_options)
  @options     = received_options
  @id          = company_id
  @levels      = []
  @departments = []
  @url         = nil
  @size        = nil
  @requested   = false
  super(api_client)
end

Public Instance Methods

departments() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 43
def departments
  return @departments if requested?

  perform_request_if_not_requested!
  @departments
end
levels() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 36
def levels
  return @levels if requested?

  perform_request_if_not_requested!
  @levels
end
size() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 22
def size
  return @size if requested?

  perform_request_if_not_requested!
  @size
end
url() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 29
def url
  return @url if requested?

  perform_request_if_not_requested!
  @url
end

Protected Instance Methods

options() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 52
def options
  @options
end
perform_request(received_options) click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 75
def perform_request(received_options)
  include_graveyard = !!received_options[:includeGraveyard]
  client.company_contact_count_raw_json(id, include_graveyard)
end
transform_request(request) click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 56
def transform_request(request)
  @size = request['totalCount'].to_i
  @url  = request['url'] if request.include? 'url'

  if request.include? 'levels'
    request['levels'].each do |level|
      @levels << DataComApi::CompanyContactCount::Level.new(level)
    end
  end

  if request.include? 'departments'
    request['departments'].each do |department|
      @departments << DataComApi::CompanyContactCount::Department.new(
        department
      )
    end
  end
end

Private Instance Methods

perform_request_if_not_requested!() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 82
def perform_request_if_not_requested!
  return if requested?

  transform_request perform_request(options)

  @requested = true
end
requested?() click to toggle source
# File lib/data-com-api/responses/company_contact_count.rb, line 90
def requested?
  @requested
end