Sha256: 46ee0b0480fa16e70709f4df22de8e5e14d8d248845f1552ecf8fe91ef86193f
Contents?: true
Size: 1.77 KB
Versions: 1
Compression:
Stored size: 1.77 KB
Contents
module LinkedIn module API module Companies 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 # to call this, # client.company_search 'nike', fields: company_api_fields # https://api.linkedin.com/v1/company-search?keywords=nike # # client.company_search 'nike', 'footwear', fields: company_api_fields # https://api.linkedin.com/v1/company-search?keywords=nike%20footwear # # client.company_search 'nike', 'footwear', 'kobe', 'yellow', filter: 'hq-only=true', fields: company_api_fields # https://api.linkedin.com/v1/company-search?keywords=nike%20footwear%20kobe%20yellow&hq-only=true 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 end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
linkedin2-0.0.19 | lib/linkedin/api/companies.rb |