Class: TrakioClient::Company

Inherits:
EndPoint show all
Defined in:
lib/trakio_client/company.rb

Instance Attribute Summary

Attributes inherited from EndPoint

#trakio

Instance Method Summary collapse

Methods inherited from EndPoint

#initialize

Constructor Details

This class inherits a constructor from TrakioClient::EndPoint

Instance Method Details

#check_parameters(company_id, properties, distinct_ids) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
# File 'lib/trakio_client/company.rb', line 28

def check_parameters company_id, properties, distinct_ids
  if !company_id
    raise Exceptions::MissingParameter.new('The `company_id` parameter must be provided.')
  end
  if !properties.is_a?(Hash)
    raise Exceptions::InvalidParameter.new("The `properties` parameter must be a hash.")
  end
  if !distinct_ids.is_a?(Array)
    raise Exceptions::InvalidParameter.new('The `people_distinct_ids` parameter must be an array.')
  end
end

#distinct_ids_from_params(p) ⇒ Object



19
20
21
22
23
24
25
26
# File 'lib/trakio_client/company.rb', line 19

def distinct_ids_from_params p
  ids = p[:people_distinct_ids] || []
  distinct_id = p[:distinct_id] || self.distinct_id
  ids << distinct_id if distinct_id
  ids.reject!(&:nil?)
  ids.map!(&:to_s)
  ids
end

#run(p = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/trakio_client/company.rb', line 4

def run p = {}
  properties = p[:properties] || {}
  company_id = p[:company_id] || self.company_id
  check_parameters company_id, properties, (p[:people_distinct_ids] || [])

  params = {
    company_id: company_id,
    properties: properties,
  }
  distinct_ids = distinct_ids_from_params p
  params[:people_distinct_ids] = distinct_ids unless distinct_ids.empty?

  send_request 'company', params
end