Module: LinkedIn::API::Companies

Defined in:
lib/linkedin/api/companies.rb

Instance Method Summary collapse

Instance Method Details

#company(*selector, filter: nil, **opts) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/linkedin/api/companies.rb', line 4

def company(*selector, filter: nil, **opts)
  root = 'companies'

  selector.compact!
  selector = selector.first if selector.size == 1

  unless filter.blank?
    filter = Hash[ *filter.to_s.split('=') ] unless filter.respond_to? :keys
    opts[:params] = {} if opts[:params].blank?
    opts[:params].to_h.merge! filter
    selector = nil
  end

  if selector.respond_to? :each
    selector = "companies::(#{ selector.map(&:to_param).join(',') })"
    root = nil
  end

  execute root, opts.merge(selector: selector)
end

#company_search(*keywords, filter: nil, **opts) ⇒ Object

to call this, client.company_search ‘nike’, fields: company_api_fields api.linkedin.com/v1/company-search?keywords=nike

client.company_search ‘nike’, ‘footwear’, fields: company_api_fields api.linkedin.com/v1/company-search?keywords=nike%20footwear

client.company_search ‘nike’, ‘footwear’, ‘kobe’, ‘yellow’, filter: ‘hq-only=true’, fields: company_api_fields api.linkedin.com/v1/company-search?keywords=nike%20footwear%20kobe%20yellow&hq-only=true



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/linkedin/api/companies.rb', line 35

def company_search(*keywords, filter: nil, **opts)

  opts[:params] = {} if opts[:params].blank?
  opts[:params].merge! keywords: keywords.compact.join(' ')

  unless filter.blank?
    filter.each do |filt|
      new_filt = Hash[*filt.to_s.split('=')] unless filter.respond_to? :keys
      opts[:params].merge! new_filt
    end
  end

  unless opts[:facets].blank?
    facets = Hash['facets', opts[:facets]]
    opts[:params].merge! facets
  end

  execute 'company-search', opts
end