cufinder-ruby 0.0.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c9f06c87746a02b9f3ba1003f43e859f96549c67061db0d66465ce919324400f
4
- data.tar.gz: e304713de973c2cfa7de842e9788a2d49a17383dc540a9c7520ff6205f50dfcd
3
+ metadata.gz: 5f02342f587a60dcb5946f69fce0aab002736425ead7614d5cecaca4af35d035
4
+ data.tar.gz: '097b09d59e662d36c221de3fcc9bda06ebc0778c84daf291fb12f7047dd3f549'
5
5
  SHA512:
6
- metadata.gz: 65e625f7ac41c7b61af9b3f672d5a4c9cae6243a28a62c099feb13dc8bfecefd3c388790d355c5b6c7a47ec544676ccee0da857b89a23d7fc8de05ef745ab7d6
7
- data.tar.gz: a35579b44987e8aa8c2bb5a8ecad07da0c6dc4585cf3c0a08626b2202253e77da1b60000e7d6481bac5c11e906c84e8bba3e61685fddc008efd90ca4555eeb5b
6
+ metadata.gz: bc1ee47853ec78af1f478410b7ed54dc0dcb024d918cf0f32e145084f621751326a4f878b7ff4ec22029f39efcccb5b1e4fa0b386a42ae8bd2cc5aa937f85df4
7
+ data.tar.gz: 469e8cd28fc6308b2768ffcda28a350397604908ae3ebfedc531b24c76e8a067be905f0deddad258894825f4155acd7554d131d1637cf9ee6393d1b3514ec0a7
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
- # CUFinder Ruby SDK
1
+ # CUFinder Ruby Client
2
2
 
3
- Official Ruby SDK for accessing CUFinder's comprehensive business intelligence and lead generation services.
3
+ Official Ruby Client for accessing CUFinder's comprehensive business intelligence and lead generation services.
4
4
 
5
5
  ## Installation
6
6
 
@@ -29,178 +29,163 @@ gem install cufinder-ruby
29
29
  ```ruby
30
30
  require 'cufinder_ruby'
31
31
 
32
- # Initialize the SDK with your API key
33
- sdk = CufinderRuby::SDK.new(api_key: 'your-api-key-here')
32
+ # Initialize the client with your API key
33
+ client = Cufinder::Client.new(api_key: 'your-api-key-here')
34
34
  ```
35
35
 
36
36
  ### Available Services
37
37
 
38
- The SDK provides access to all CUFinder API services:
38
+ The Client provides access to all CUFinder API services:
39
39
 
40
40
  #### 1. CUF - Company URL Finder
41
41
  ```ruby
42
- result = sdk.cuf(company_name: "Apple Inc", country_code: "US")
42
+ result = client.cuf(company_name: "Apple Inc", country_code: "US")
43
43
  puts result.domain # => "apple.com"
44
44
  ```
45
45
 
46
46
  #### 2. LCUF - LinkedIn Company URL Finder
47
47
  ```ruby
48
- result = sdk.lcuf(company_name: "Apple Inc")
48
+ result = client.lcuf(company_name: "Apple Inc")
49
49
  puts result.linkedin_url # => "linkedin.com/company/apple"
50
50
  ```
51
51
 
52
52
  #### 3. DTC - Domain to Company
53
53
  ```ruby
54
- result = sdk.dtc(company_website: "apple.com")
54
+ result = client.dtc(company_website: "apple.com")
55
55
  puts result.company_name # => "Apple Inc"
56
56
  ```
57
57
 
58
58
  #### 4. DTE - Domain to Emails
59
59
  ```ruby
60
- result = sdk.dte(company_website: "apple.com")
60
+ result = client.dte(company_website: "apple.com")
61
61
  puts result.emails # => ["contact@apple.com", "info@apple.com"]
62
62
  ```
63
63
 
64
64
  #### 5. NTP - Name to Phones
65
65
  ```ruby
66
- result = sdk.ntp(company_name: "Apple Inc")
66
+ result = client.ntp(company_name: "Apple Inc")
67
67
  puts result.phones # => ["+1-408-996-1010"]
68
68
  ```
69
69
 
70
70
  #### 6. REL - Reverse Email Lookup
71
71
  ```ruby
72
- result = sdk.rel(email: "tim.cook@apple.com")
72
+ result = client.rel(email: "tim.cook@apple.com")
73
73
  puts result.person.full_name # => "Tim Cook"
74
74
  ```
75
75
 
76
76
  #### 7. FCL - Find Company Lookalikes
77
77
  ```ruby
78
- result = sdk.fcl(query: "tech startup")
78
+ result = client.fcl(query: "tech startup")
79
79
  puts result.companies.length # => 10
80
80
  ```
81
81
 
82
82
  #### 8. ELF - Enrich LinkedIn Fundraising
83
83
  ```ruby
84
- result = sdk.elf(query: "tech company")
84
+ result = client.elf(query: "tech company")
85
85
  puts result.fundraising.funding_money_raised # => "$5M"
86
86
  ```
87
87
 
88
88
  #### 9. CAR - Company Annual Revenue
89
89
  ```ruby
90
- result = sdk.car(query: "Apple Inc")
90
+ result = client.car(query: "Apple Inc")
91
91
  puts result.revenue # => "$394.3B"
92
92
  ```
93
93
 
94
94
  #### 10. FCC - Find Company Children
95
95
  ```ruby
96
- result = sdk.fcc(query: "Apple Inc")
96
+ result = client.fcc(query: "Apple Inc")
97
97
  puts result.subsidiaries # => ["Beats Electronics", "Shazam"]
98
98
  ```
99
99
 
100
100
  #### 11. FTS - Find Tech Stack
101
101
  ```ruby
102
- result = sdk.fts(query: "web development")
102
+ result = client.fts(query: "web development")
103
103
  puts result.technologies # => ["React", "Node.js", "Python"]
104
104
  ```
105
105
 
106
106
  #### 12. EPP - Enrich Person Profile
107
107
  ```ruby
108
- result = sdk.epp(linkedin_url: "linkedin.com/in/tim-cook")
108
+ result = client.epp(linkedin_url: "linkedin.com/in/tim-cook")
109
109
  puts result.person.full_name # => "Tim Cook"
110
110
  ```
111
111
 
112
112
  #### 13. FWE - Find Work Email
113
113
  ```ruby
114
- result = sdk.fwe(linkedin_url: "linkedin.com/in/tim-cook")
114
+ result = client.fwe(linkedin_url: "linkedin.com/in/tim-cook")
115
115
  puts result.email # => "tim.cook@apple.com"
116
116
  ```
117
117
 
118
118
  #### 14. TEP - Title Email Phone
119
119
  ```ruby
120
- result = sdk.tep(full_name: "Tim Cook", company: "Apple Inc")
120
+ result = client.tep(full_name: "Tim Cook", company: "Apple Inc")
121
121
  puts result.person.email # => "tim.cook@apple.com"
122
122
  puts result.person.phone # => "+1-408-996-1010"
123
123
  ```
124
124
 
125
125
  #### 15. ENC - Enrich Company
126
126
  ```ruby
127
- result = sdk.enc(query: "Apple Inc")
127
+ result = client.enc(query: "Apple Inc")
128
128
  puts result.company.employee_count # => 164000
129
129
  ```
130
130
 
131
131
  #### 16. CEC - Company Employee Count
132
132
  ```ruby
133
- result = sdk.cec(query: "Apple Inc")
133
+ result = client.cec(query: "Apple Inc")
134
134
  puts result.countries # => {"US" => 100000, "CA" => 5000}
135
135
  ```
136
136
 
137
137
  #### 17. CLO - Company Locations
138
138
  ```ruby
139
- result = sdk.clo(query: "Apple Inc")
139
+ result = client.clo(query: "Apple Inc")
140
140
  puts result.locations.first.city # => "Cupertino"
141
141
  ```
142
142
 
143
143
  #### 18. CSE - Company Search Engine
144
144
  ```ruby
145
- result = sdk.cse(name: "tech", country: "US", industry: "software")
145
+ result = client.cse(name: "tech", country: "US", industry: "software")
146
146
  puts result.companies.length # => 50
147
147
  ```
148
148
 
149
149
  #### 19. PSE - Person Search Engine
150
150
  ```ruby
151
- result = sdk.pse(full_name: "John", country: "US", company_name: "Apple")
151
+ result = client.pse(full_name: "John", country: "US", company_name: "Apple")
152
152
  puts result.peoples.length # => 25
153
153
  ```
154
154
 
155
155
  #### 20. LBS - Local Business Search
156
156
  ```ruby
157
- result = sdk.lbs(name: "restaurant", city: "New York")
157
+ result = client.lbs(name: "restaurant", city: "New York")
158
158
  puts result.companies.length # => 100
159
159
  ```
160
160
 
161
161
  ### Error Handling
162
162
 
163
- The SDK provides comprehensive error handling:
163
+ The Client provides comprehensive error handling:
164
164
 
165
165
  ```ruby
166
166
  begin
167
- result = sdk.cuf(company_name: "Apple Inc", country_code: "US")
168
- rescue CufinderRuby::AuthenticationError => e
167
+ result = client.cuf(company_name: "Apple Inc", country_code: "US")
168
+ rescue Cufinder::AuthenticationError => e
169
169
  puts "Authentication failed: #{e.message}"
170
- rescue CufinderRuby::RateLimitError => e
170
+ rescue Cufinder::RateLimitError => e
171
171
  puts "Rate limit exceeded: #{e.message}"
172
- rescue CufinderRuby::CreditLimitError => e
172
+ rescue Cufinder::CreditLimitError => e
173
173
  puts "Credit limit exceeded: #{e.message}"
174
- rescue CufinderRuby::ApiError => e
174
+ rescue Cufinder::ApiError => e
175
175
  puts "API error #{e.status}: #{e.message}"
176
- rescue CufinderRuby::ValidationError => e
176
+ rescue Cufinder::ValidationError => e
177
177
  puts "Validation error: #{e.message}"
178
178
  end
179
179
  ```
180
180
 
181
181
  ### Configuration
182
182
 
183
- You can configure the SDK with custom settings:
183
+ You can configure the Client with custom settings:
184
184
 
185
185
  ```ruby
186
- sdk = CufinderRuby::SDK.new(
186
+ sdk = Cufinder::Client.new(
187
187
  api_key: 'your-api-key',
188
- base_url: 'https://api.cufinder.io/v2', # Default
189
188
  timeout: 30, # Default
190
189
  max_retries: 3 # Default
191
190
  )
192
- ```
193
-
194
- ## Development
195
-
196
- After checking out the repo, run `bundle install` to install dependencies. Then, run `rake spec` to run the tests.
197
-
198
- To install this gem onto your local machine, run `bundle exec rake install`.
199
-
200
- ## Contributing
201
-
202
- Bug reports and pull requests are welcome on GitHub at https://github.com/cufinder/cufinder-ruby.
203
-
204
- ## License
205
-
206
- The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
191
+ ```
@@ -1,6 +1,6 @@
1
1
  Gem::Specification.new do |spec|
2
2
  spec.name = "cufinder-ruby"
3
- spec.version = "0.0.1"
3
+ spec.version = "1.0.0"
4
4
  spec.authors = ["CUFinder Team"]
5
5
  spec.email = ["support@cufinder.io"]
6
6
 
@@ -0,0 +1,84 @@
1
+ require "httparty"
2
+ require "json"
3
+ require "cufinder_ruby/errors"
4
+
5
+ module Cufinder
6
+ class BaseApiClient
7
+ include HTTParty
8
+
9
+ attr_reader :api_key, :base_url, :timeout, :max_retries
10
+
11
+ def initialize(api_key:, timeout: 30, max_retries: 3)
12
+ @api_key = api_key
13
+ @base_url = "https://api.cufinder.io/v2"
14
+ @timeout = timeout
15
+ @max_retries = max_retries
16
+
17
+ self.class.base_uri @base_url
18
+ self.class.headers "User-Agent" => "cufinder-ruby/#{Cufinder::VERSION}"
19
+ end
20
+
21
+ def post(endpoint, data)
22
+ response = self.class.post(
23
+ endpoint,
24
+ body: form_encode(data),
25
+ headers: {
26
+ "x-api-key" => api_key,
27
+ "Content-Type" => "application/x-www-form-urlencoded"
28
+ },
29
+ timeout: @timeout
30
+ )
31
+
32
+ handle_response(response)
33
+ end
34
+
35
+ private
36
+
37
+ def form_encode(data)
38
+ return "" if data.nil? || data.empty?
39
+
40
+ data.map do |key, value|
41
+ next if value.nil?
42
+
43
+ if value.is_a?(Array)
44
+ value.map { |v| "#{key}=#{CGI.escape(v.to_s)}" }.join("&")
45
+ else
46
+ "#{key}=#{CGI.escape(value.to_s)}"
47
+ end
48
+ end.compact.join("&")
49
+ end
50
+
51
+ def handle_response(response)
52
+ case response.code
53
+ when 200..299
54
+ extract_data(response.parsed_response)
55
+ when 401
56
+ raise AuthenticationError, response.body
57
+ when 402
58
+ raise CreditLimitError, response.body
59
+ when 429
60
+ raise RateLimitError, response.body
61
+ else
62
+ raise ApiError.new(response.code, response.body)
63
+ end
64
+ rescue JSON::ParserError => e
65
+ raise HttpError, "Failed to parse response: #{e.message}"
66
+ rescue HTTParty::Error => e
67
+ raise HttpError, "HTTP request failed: #{e.message}"
68
+ end
69
+
70
+ def extract_data(response_data)
71
+ # Extract data from wrapper if present (similar to Go SDK's mapToStruct)
72
+ if response_data.is_a?(Hash) && response_data.key?("data")
73
+ data = response_data["data"]
74
+ # Add meta_data if it exists in the outer response
75
+ if response_data.key?("meta_data")
76
+ data["meta_data"] = response_data["meta_data"]
77
+ end
78
+ data
79
+ else
80
+ response_data
81
+ end
82
+ end
83
+ end
84
+ end
@@ -1,84 +1,113 @@
1
- require "httparty"
2
- require "json"
3
- require "cufinder_ruby/errors"
1
+ require "cufinder_ruby/base_api_client"
2
+ require "cufinder_ruby/services"
4
3
 
5
- module CufinderRuby
4
+ module Cufinder
5
+ # Main client class for interacting with the CUFinder API
6
+ #
7
+ # This is the primary entry point for all API operations.
8
+ # It provides convenient methods for each service and handles
9
+ # authentication and HTTP communication internally.
10
+ #
11
+ # @example Basic usage
12
+ # client = Cufinder::Client.new(api_key: 'your-api-key')
13
+ # result = client.cuf(company_name: 'Example Corp', country_code: 'US')
14
+ #
6
15
  class Client
7
- include HTTParty
8
-
9
- attr_reader :api_key, :base_url, :timeout, :max_retries
10
-
11
- def initialize(api_key:, base_url: "https://api.cufinder.io/v2", timeout: 30, max_retries: 3)
12
- @api_key = api_key
13
- @base_url = base_url
14
- @timeout = timeout
15
- @max_retries = max_retries
16
-
17
- self.class.base_uri base_url
18
- self.class.timeout timeout
19
- self.class.headers "User-Agent" => "cufinder-ruby/#{CufinderRuby::VERSION}"
20
- end
21
-
22
- def post(endpoint, data)
23
- response = self.class.post(
24
- endpoint,
25
- body: form_encode(data),
26
- headers: {
27
- "x-api-key" => api_key,
28
- "Content-Type" => "application/x-www-form-urlencoded"
29
- }
16
+ attr_reader :client, :services
17
+
18
+ # Initialize a new CUFinder client
19
+ #
20
+ # @param api_key [String] Your CUFinder API key
21
+ # @param timeout [Integer] Request timeout in seconds (default: 30)
22
+ # @param max_retries [Integer] Maximum number of retries (default: 3)
23
+ def initialize(api_key:, timeout: 30, max_retries: 3)
24
+ @client = BaseApiClient.new(
25
+ api_key: api_key,
26
+ timeout: timeout,
27
+ max_retries: max_retries
30
28
  )
31
-
32
- handle_response(response)
33
- end
34
-
35
- private
36
-
37
- def form_encode(data)
38
- return "" if data.nil? || data.empty?
39
-
40
- data.map do |key, value|
41
- next if value.nil?
42
-
43
- if value.is_a?(Array)
44
- value.map { |v| "#{key}=#{CGI.escape(v.to_s)}" }.join("&")
45
- else
46
- "#{key}=#{CGI.escape(value.to_s)}"
47
- end
48
- end.compact.join("&")
49
- end
50
-
51
- def handle_response(response)
52
- case response.code
53
- when 200..299
54
- extract_data(response.parsed_response)
55
- when 401
56
- raise AuthenticationError, response.body
57
- when 402
58
- raise CreditLimitError, response.body
59
- when 429
60
- raise RateLimitError, response.body
61
- else
62
- raise ApiError.new(response.code, response.body)
63
- end
64
- rescue JSON::ParserError => e
65
- raise HttpError, "Failed to parse response: #{e.message}"
66
- rescue HTTParty::Error => e
67
- raise HttpError, "HTTP request failed: #{e.message}"
68
- end
69
-
70
- def extract_data(response_data)
71
- # Extract data from wrapper if present (similar to Go SDK's mapToStruct)
72
- if response_data.is_a?(Hash) && response_data.key?("data")
73
- data = response_data["data"]
74
- # Add meta_data if it exists in the outer response
75
- if response_data.key?("meta_data")
76
- data["meta_data"] = response_data["meta_data"]
77
- end
78
- data
79
- else
80
- response_data
81
- end
29
+ @services = Services.new(@client)
30
+ end
31
+
32
+ # Service methods - Each method corresponds to a CUFinder API service
33
+ def cuf(company_name:, country_code:)
34
+ @services.get_domain(company_name: company_name, country_code: country_code)
35
+ end
36
+
37
+ def lcuf(company_name:)
38
+ @services.get_linkedin_url(company_name: company_name)
39
+ end
40
+
41
+ def dtc(company_website:)
42
+ @services.get_company_name(company_website: company_website)
43
+ end
44
+
45
+ def dte(company_website:)
46
+ @services.get_emails(company_website: company_website)
47
+ end
48
+
49
+ def ntp(company_name:)
50
+ @services.get_phones(company_name: company_name)
51
+ end
52
+
53
+ def rel(email:)
54
+ @services.get_person_by_email(email: email)
55
+ end
56
+
57
+ def fcl(query:)
58
+ @services.find_company_lookalikes(query: query)
59
+ end
60
+
61
+ def elf(query:)
62
+ @services.enrich_linkedin_fundraising(query: query)
63
+ end
64
+
65
+ def car(query:)
66
+ @services.get_annual_revenue(query: query)
67
+ end
68
+
69
+ def fcc(query:)
70
+ @services.find_company_children(query: query)
71
+ end
72
+
73
+ def fts(query:)
74
+ @services.find_tech_stack(query: query)
75
+ end
76
+
77
+ def epp(linkedin_url:)
78
+ @services.enrich_person_profile(linkedin_url: linkedin_url)
79
+ end
80
+
81
+ def fwe(linkedin_url:)
82
+ @services.find_work_email(linkedin_url: linkedin_url)
83
+ end
84
+
85
+ def tep(full_name:, company:)
86
+ @services.get_title_email_phone(full_name: full_name, company: company)
87
+ end
88
+
89
+ def enc(query:)
90
+ @services.enrich_company(query: query)
91
+ end
92
+
93
+ def cec(query:)
94
+ @services.get_company_employee_count(query: query)
95
+ end
96
+
97
+ def clo(query:)
98
+ @services.get_company_locations(query: query)
99
+ end
100
+
101
+ def cse(**params)
102
+ @services.search_companies(params)
103
+ end
104
+
105
+ def pse(**params)
106
+ @services.search_people(params)
107
+ end
108
+
109
+ def lbs(**params)
110
+ @services.search_local_businesses(params)
82
111
  end
83
112
  end
84
113
  end
@@ -1,4 +1,4 @@
1
- module CufinderRuby
1
+ module Cufinder
2
2
  class Error < StandardError; end
3
3
 
4
4
  class AuthenticationError < Error; end
@@ -1,8 +1,8 @@
1
- require "cufinder_ruby/client"
1
+ require "cufinder_ruby/base_api_client"
2
2
  require "cufinder_ruby/types"
3
3
  require "cufinder_ruby/errors"
4
4
 
5
- module CufinderRuby
5
+ module Cufinder
6
6
  class Services
7
7
  def initialize(client)
8
8
  @client = client
@@ -1,4 +1,4 @@
1
- module CufinderRuby
1
+ module Cufinder
2
2
  # Base response structure for all CUFinder API responses
3
3
  class BaseResponse
4
4
  attr_accessor :query, :credit_count, :meta_data, :confidence_level
@@ -1,3 +1,3 @@
1
- module CufinderRuby
2
- VERSION = "0.0.1"
1
+ module Cufinder
2
+ VERSION = "1.0.0"
3
3
  end
data/lib/cufinder_ruby.rb CHANGED
@@ -1,8 +1,8 @@
1
1
  require "cufinder_ruby/version"
2
+ require "cufinder_ruby/base_api_client"
2
3
  require "cufinder_ruby/client"
3
- require "cufinder_ruby/sdk"
4
4
  require "cufinder_ruby/errors"
5
5
 
6
- module CufinderRuby
6
+ module Cufinder
7
7
  class Error < StandardError; end
8
8
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cufinder-ruby
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CUFinder Team
@@ -95,9 +95,9 @@ files:
95
95
  - Rakefile
96
96
  - cufinder-ruby.gemspec
97
97
  - lib/cufinder_ruby.rb
98
+ - lib/cufinder_ruby/base_api_client.rb
98
99
  - lib/cufinder_ruby/client.rb
99
100
  - lib/cufinder_ruby/errors.rb
100
- - lib/cufinder_ruby/sdk.rb
101
101
  - lib/cufinder_ruby/services.rb
102
102
  - lib/cufinder_ruby/types.rb
103
103
  - lib/cufinder_ruby/version.rb
@@ -1,99 +0,0 @@
1
- require "cufinder_ruby/client"
2
- require "cufinder_ruby/services"
3
-
4
- module CufinderRuby
5
- class SDK
6
- attr_reader :client, :services
7
-
8
- def initialize(api_key:, base_url: "https://api.cufinder.io/v2", timeout: 30, max_retries: 3)
9
- @client = Client.new(
10
- api_key: api_key,
11
- base_url: base_url,
12
- timeout: timeout,
13
- max_retries: max_retries
14
- )
15
- @services = Services.new(@client)
16
- end
17
-
18
- # Convenience methods for each service
19
- def cuf(company_name:, country_code:)
20
- @services.get_domain(company_name: company_name, country_code: country_code)
21
- end
22
-
23
- def lcuf(company_name:)
24
- @services.get_linkedin_url(company_name: company_name)
25
- end
26
-
27
- def dtc(company_website:)
28
- @services.get_company_name(company_website: company_website)
29
- end
30
-
31
- def dte(company_website:)
32
- @services.get_emails(company_website: company_website)
33
- end
34
-
35
- def ntp(company_name:)
36
- @services.get_phones(company_name: company_name)
37
- end
38
-
39
- def rel(email:)
40
- @services.get_person_by_email(email: email)
41
- end
42
-
43
- def fcl(query:)
44
- @services.find_company_lookalikes(query: query)
45
- end
46
-
47
- def elf(query:)
48
- @services.enrich_linkedin_fundraising(query: query)
49
- end
50
-
51
- def car(query:)
52
- @services.get_annual_revenue(query: query)
53
- end
54
-
55
- def fcc(query:)
56
- @services.find_company_children(query: query)
57
- end
58
-
59
- def fts(query:)
60
- @services.find_tech_stack(query: query)
61
- end
62
-
63
- def epp(linkedin_url:)
64
- @services.enrich_person_profile(linkedin_url: linkedin_url)
65
- end
66
-
67
- def fwe(linkedin_url:)
68
- @services.find_work_email(linkedin_url: linkedin_url)
69
- end
70
-
71
- def tep(full_name:, company:)
72
- @services.get_title_email_phone(full_name: full_name, company: company)
73
- end
74
-
75
- def enc(query:)
76
- @services.enrich_company(query: query)
77
- end
78
-
79
- def cec(query:)
80
- @services.get_company_employee_count(query: query)
81
- end
82
-
83
- def clo(query:)
84
- @services.get_company_locations(query: query)
85
- end
86
-
87
- def cse(**params)
88
- @services.search_companies(params)
89
- end
90
-
91
- def pse(**params)
92
- @services.search_people(params)
93
- end
94
-
95
- def lbs(**params)
96
- @services.search_local_businesses(params)
97
- end
98
- end
99
- end