thecompaniesapi 1.0.1

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.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +4 -0
  3. data/.github/workflows/release.yml +106 -0
  4. data/.github/workflows/tests.yml +93 -0
  5. data/.gitignore +146 -0
  6. data/CODE_OF_CONDUCT.md +74 -0
  7. data/Gemfile +7 -0
  8. data/Gemfile.lock +36 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +551 -0
  11. data/Rakefile +25 -0
  12. data/bin/console +14 -0
  13. data/bin/setup +8 -0
  14. data/lib/thecompaniesapi/client.rb +643 -0
  15. data/lib/thecompaniesapi/error.rb +28 -0
  16. data/lib/thecompaniesapi/generated/models/action.rb +91 -0
  17. data/lib/thecompaniesapi/generated/models/company_v2.rb +136 -0
  18. data/lib/thecompaniesapi/generated/models/email_pattern.rb +51 -0
  19. data/lib/thecompaniesapi/generated/models/job_title.rb +81 -0
  20. data/lib/thecompaniesapi/generated/models/list.rb +141 -0
  21. data/lib/thecompaniesapi/generated/models/list_analytics.rb +46 -0
  22. data/lib/thecompaniesapi/generated/models/llmanswer.rb +66 -0
  23. data/lib/thecompaniesapi/generated/models/nominatim_city.rb +101 -0
  24. data/lib/thecompaniesapi/generated/models/nominatim_continent.rb +111 -0
  25. data/lib/thecompaniesapi/generated/models/nominatim_country.rb +121 -0
  26. data/lib/thecompaniesapi/generated/models/nominatim_county.rb +96 -0
  27. data/lib/thecompaniesapi/generated/models/nominatim_state.rb +96 -0
  28. data/lib/thecompaniesapi/generated/models/page_contents_ideated.rb +171 -0
  29. data/lib/thecompaniesapi/generated/models/page_contents_link.rb +41 -0
  30. data/lib/thecompaniesapi/generated/models/page_contents_page.rb +71 -0
  31. data/lib/thecompaniesapi/generated/models/pagination_meta.rb +76 -0
  32. data/lib/thecompaniesapi/generated/models/prompt.rb +91 -0
  33. data/lib/thecompaniesapi/generated/models/segmentation_condition.rb +56 -0
  34. data/lib/thecompaniesapi/generated/models/team.rb +101 -0
  35. data/lib/thecompaniesapi/generated/models/technology.rb +96 -0
  36. data/lib/thecompaniesapi/generated/models/user.rb +101 -0
  37. data/lib/thecompaniesapi/generated/operations_map.rb +11 -0
  38. data/lib/thecompaniesapi/generated/requests/ask_company_request.rb +60 -0
  39. data/lib/thecompaniesapi/generated/requests/count_companies_post_request.rb +50 -0
  40. data/lib/thecompaniesapi/generated/requests/create_list_request.rb +70 -0
  41. data/lib/thecompaniesapi/generated/requests/export_companies_analytics_request.rb +70 -0
  42. data/lib/thecompaniesapi/generated/requests/fetch_companies_in_list_post_request.rb +70 -0
  43. data/lib/thecompaniesapi/generated/requests/product_prompt_request.rb +65 -0
  44. data/lib/thecompaniesapi/generated/requests/prompt_to_segmentation_request.rb +55 -0
  45. data/lib/thecompaniesapi/generated/requests/request_action_request.rb +80 -0
  46. data/lib/thecompaniesapi/generated/requests/retry_action_request.rb +30 -0
  47. data/lib/thecompaniesapi/generated/requests/search_companies_post_request.rb +90 -0
  48. data/lib/thecompaniesapi/generated/requests/toggle_companies_in_list_request.rb +50 -0
  49. data/lib/thecompaniesapi/generated/requests/update_list_request.rb +65 -0
  50. data/lib/thecompaniesapi/generated/requests/update_team_request.rb +45 -0
  51. data/lib/thecompaniesapi/generated/responses/ask_company_response.rb +38 -0
  52. data/lib/thecompaniesapi/generated/responses/count_companies_post_response.rb +34 -0
  53. data/lib/thecompaniesapi/generated/responses/count_companies_response.rb +34 -0
  54. data/lib/thecompaniesapi/generated/responses/create_list_response.rb +25 -0
  55. data/lib/thecompaniesapi/generated/responses/delete_list_response.rb +25 -0
  56. data/lib/thecompaniesapi/generated/responses/delete_prompt_response.rb +25 -0
  57. data/lib/thecompaniesapi/generated/responses/enrich_job_titles_response.rb +25 -0
  58. data/lib/thecompaniesapi/generated/responses/export_companies_analytics_response.rb +38 -0
  59. data/lib/thecompaniesapi/generated/responses/fetch_actions_response.rb +38 -0
  60. data/lib/thecompaniesapi/generated/responses/fetch_api_health_response.rb +42 -0
  61. data/lib/thecompaniesapi/generated/responses/fetch_companies_analytics_response.rb +38 -0
  62. data/lib/thecompaniesapi/generated/responses/fetch_companies_in_list_post_response.rb +42 -0
  63. data/lib/thecompaniesapi/generated/responses/fetch_companies_in_list_response.rb +42 -0
  64. data/lib/thecompaniesapi/generated/responses/fetch_company_by_email_response.rb +42 -0
  65. data/lib/thecompaniesapi/generated/responses/fetch_company_by_social_response.rb +25 -0
  66. data/lib/thecompaniesapi/generated/responses/fetch_company_context_response.rb +38 -0
  67. data/lib/thecompaniesapi/generated/responses/fetch_company_email_patterns_response.rb +25 -0
  68. data/lib/thecompaniesapi/generated/responses/fetch_company_in_list_response.rb +25 -0
  69. data/lib/thecompaniesapi/generated/responses/fetch_company_response.rb +25 -0
  70. data/lib/thecompaniesapi/generated/responses/fetch_lists_response.rb +38 -0
  71. data/lib/thecompaniesapi/generated/responses/fetch_open_api_response.rb +30 -0
  72. data/lib/thecompaniesapi/generated/responses/fetch_prompts_response.rb +38 -0
  73. data/lib/thecompaniesapi/generated/responses/fetch_team_response.rb +25 -0
  74. data/lib/thecompaniesapi/generated/responses/fetch_user_response.rb +25 -0
  75. data/lib/thecompaniesapi/generated/responses/product_prompt_response.rb +42 -0
  76. data/lib/thecompaniesapi/generated/responses/prompt_to_segmentation_response.rb +42 -0
  77. data/lib/thecompaniesapi/generated/responses/request_action_response.rb +34 -0
  78. data/lib/thecompaniesapi/generated/responses/retry_action_response.rb +34 -0
  79. data/lib/thecompaniesapi/generated/responses/search_cities_response.rb +38 -0
  80. data/lib/thecompaniesapi/generated/responses/search_companies_by_name_response.rb +38 -0
  81. data/lib/thecompaniesapi/generated/responses/search_companies_by_prompt_response.rb +38 -0
  82. data/lib/thecompaniesapi/generated/responses/search_companies_post_response.rb +42 -0
  83. data/lib/thecompaniesapi/generated/responses/search_companies_response.rb +42 -0
  84. data/lib/thecompaniesapi/generated/responses/search_continents_response.rb +38 -0
  85. data/lib/thecompaniesapi/generated/responses/search_counties_response.rb +38 -0
  86. data/lib/thecompaniesapi/generated/responses/search_countries_response.rb +38 -0
  87. data/lib/thecompaniesapi/generated/responses/search_industries_response.rb +38 -0
  88. data/lib/thecompaniesapi/generated/responses/search_industries_similar_response.rb +38 -0
  89. data/lib/thecompaniesapi/generated/responses/search_similar_companies_response.rb +38 -0
  90. data/lib/thecompaniesapi/generated/responses/search_states_response.rb +38 -0
  91. data/lib/thecompaniesapi/generated/responses/search_technologies_response.rb +38 -0
  92. data/lib/thecompaniesapi/generated/responses/toggle_companies_in_list_response.rb +25 -0
  93. data/lib/thecompaniesapi/generated/responses/update_list_response.rb +25 -0
  94. data/lib/thecompaniesapi/generated/responses/update_team_response.rb +25 -0
  95. data/lib/thecompaniesapi/http_client.rb +146 -0
  96. data/lib/thecompaniesapi/version.rb +3 -0
  97. data/lib/thecompaniesapi.rb +7 -0
  98. data/script/generate_client.rb +653 -0
  99. data/thecompaniesapi.gemspec +34 -0
  100. metadata +188 -0
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # ExportCompaniesAnalyticsRequest - API request class
8
+ #
9
+ class ExportCompaniesAnalyticsRequest
10
+ # @return [Float] actionId
11
+ attr_accessor :action_id
12
+
13
+ # @return [Array] attributes
14
+ attr_accessor :attributes
15
+
16
+ # @return [String] format
17
+ attr_accessor :format
18
+
19
+ # @return [Boolean] full
20
+ attr_accessor :full
21
+
22
+ # @return [Float] listId
23
+ attr_accessor :list_id
24
+
25
+ # @return [Array] query
26
+ attr_accessor :query
27
+
28
+ # @return [Float] size
29
+ attr_accessor :size
30
+
31
+ # @return [String] sort
32
+ attr_accessor :sort
33
+
34
+ ##
35
+ # Initialize a new ExportCompaniesAnalyticsRequest
36
+ #
37
+ # @param data [Hash] Request data
38
+ def initialize(data = {})
39
+ @action_id = data['actionId'] || data[:action_id]
40
+ @attributes = data['attributes'] || data[:attributes]
41
+ @format = data['format'] || data[:format]
42
+ @full = data['full'] || data[:full]
43
+ @list_id = data['listId'] || data[:list_id]
44
+ @query = data['query'] || data[:query]
45
+ @size = data['size'] || data[:size]
46
+ @sort = data['sort'] || data[:sort]
47
+ end
48
+
49
+ ##
50
+ # Convert to hash for API request
51
+ #
52
+ # @return [Hash] Hash representation
53
+ def to_hash
54
+ {
55
+ 'actionId' => @action_id,
56
+ 'attributes' => @attributes,
57
+ 'format' => @format,
58
+ 'full' => @full,
59
+ 'listId' => @list_id,
60
+ 'query' => @query,
61
+ 'size' => @size,
62
+ 'sort' => @sort,
63
+ }.compact
64
+ end
65
+
66
+ alias_method :to_h, :to_hash
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # FetchCompaniesInListPostRequest - API request class
8
+ #
9
+ class FetchCompaniesInListPostRequest
10
+ # @return [Float] actionId
11
+ attr_accessor :action_id
12
+
13
+ # @return [Float] page
14
+ attr_accessor :page
15
+
16
+ # @return [Array] query
17
+ attr_accessor :query
18
+
19
+ # @return [Boolean] simplified
20
+ attr_accessor :simplified
21
+
22
+ # @return [Float] size
23
+ attr_accessor :size
24
+
25
+ # @return [Array] sortFields
26
+ attr_accessor :sort_fields
27
+
28
+ # @return [String] sortKey
29
+ attr_accessor :sort_key
30
+
31
+ # @return [String] sortOrder
32
+ attr_accessor :sort_order
33
+
34
+ ##
35
+ # Initialize a new FetchCompaniesInListPostRequest
36
+ #
37
+ # @param data [Hash] Request data
38
+ def initialize(data = {})
39
+ @action_id = data['actionId'] || data[:action_id]
40
+ @page = data['page'] || data[:page]
41
+ @query = data['query'] || data[:query]
42
+ @simplified = data['simplified'] || data[:simplified]
43
+ @size = data['size'] || data[:size]
44
+ @sort_fields = data['sortFields'] || data[:sort_fields]
45
+ @sort_key = data['sortKey'] || data[:sort_key]
46
+ @sort_order = data['sortOrder'] || data[:sort_order]
47
+ end
48
+
49
+ ##
50
+ # Convert to hash for API request
51
+ #
52
+ # @return [Hash] Hash representation
53
+ def to_hash
54
+ {
55
+ 'actionId' => @action_id,
56
+ 'page' => @page,
57
+ 'query' => @query,
58
+ 'simplified' => @simplified,
59
+ 'size' => @size,
60
+ 'sortFields' => @sort_fields,
61
+ 'sortKey' => @sort_key,
62
+ 'sortOrder' => @sort_order,
63
+ }.compact
64
+ end
65
+
66
+ alias_method :to_h, :to_hash
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # ProductPromptRequest - API request class
8
+ #
9
+ class ProductPromptRequest
10
+ # @return [Float] companyId
11
+ attr_accessor :company_id
12
+
13
+ # @return [String] context
14
+ attr_accessor :context
15
+
16
+ # @return [String] feature
17
+ attr_accessor :feature
18
+
19
+ # @return [Boolean] force
20
+ attr_accessor :force
21
+
22
+ # @return [Float] listId
23
+ attr_accessor :list_id
24
+
25
+ # @return [String] model
26
+ attr_accessor :model
27
+
28
+ # @return [String] prompt
29
+ attr_accessor :prompt
30
+
31
+ ##
32
+ # Initialize a new ProductPromptRequest
33
+ #
34
+ # @param data [Hash] Request data
35
+ def initialize(data = {})
36
+ @company_id = data['companyId'] || data[:company_id]
37
+ @context = data['context'] || data[:context]
38
+ @feature = data['feature'] || data[:feature]
39
+ @force = data['force'] || data[:force]
40
+ @list_id = data['listId'] || data[:list_id]
41
+ @model = data['model'] || data[:model]
42
+ @prompt = data['prompt'] || data[:prompt]
43
+ end
44
+
45
+ ##
46
+ # Convert to hash for API request
47
+ #
48
+ # @return [Hash] Hash representation
49
+ def to_hash
50
+ {
51
+ 'companyId' => @company_id,
52
+ 'context' => @context,
53
+ 'feature' => @feature,
54
+ 'force' => @force,
55
+ 'listId' => @list_id,
56
+ 'model' => @model,
57
+ 'prompt' => @prompt,
58
+ }.compact
59
+ end
60
+
61
+ alias_method :to_h, :to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # PromptToSegmentationRequest - API request class
8
+ #
9
+ class PromptToSegmentationRequest
10
+ # @return [String] context
11
+ attr_accessor :context
12
+
13
+ # @return [Boolean] force
14
+ attr_accessor :force
15
+
16
+ # @return [Float] listId
17
+ attr_accessor :list_id
18
+
19
+ # @return [String] model
20
+ attr_accessor :model
21
+
22
+ # @return [String] prompt
23
+ attr_accessor :prompt
24
+
25
+ ##
26
+ # Initialize a new PromptToSegmentationRequest
27
+ #
28
+ # @param data [Hash] Request data
29
+ def initialize(data = {})
30
+ @context = data['context'] || data[:context]
31
+ @force = data['force'] || data[:force]
32
+ @list_id = data['listId'] || data[:list_id]
33
+ @model = data['model'] || data[:model]
34
+ @prompt = data['prompt'] || data[:prompt]
35
+ end
36
+
37
+ ##
38
+ # Convert to hash for API request
39
+ #
40
+ # @return [Hash] Hash representation
41
+ def to_hash
42
+ {
43
+ 'context' => @context,
44
+ 'force' => @force,
45
+ 'listId' => @list_id,
46
+ 'model' => @model,
47
+ 'prompt' => @prompt,
48
+ }.compact
49
+ end
50
+
51
+ alias_method :to_h, :to_hash
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,80 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # RequestActionRequest - API request class
8
+ #
9
+ class RequestActionRequest
10
+ # @return [Array] domains
11
+ attr_accessor :domains
12
+
13
+ # @return [Boolean] estimate
14
+ attr_accessor :estimate
15
+
16
+ # @return [Array] fields
17
+ attr_accessor :fields
18
+
19
+ # @return [String] job
20
+ attr_accessor :job
21
+
22
+ # @return [Float] listId
23
+ attr_accessor :list_id
24
+
25
+ # @return [Array] names
26
+ attr_accessor :names
27
+
28
+ # @return [Float] promptId
29
+ attr_accessor :prompt_id
30
+
31
+ # @return [Array] query
32
+ attr_accessor :query
33
+
34
+ # @return [String] question
35
+ attr_accessor :question
36
+
37
+ # @return [String] type
38
+ attr_accessor :type
39
+
40
+ ##
41
+ # Initialize a new RequestActionRequest
42
+ #
43
+ # @param data [Hash] Request data
44
+ def initialize(data = {})
45
+ @domains = data['domains'] || data[:domains]
46
+ @estimate = data['estimate'] || data[:estimate]
47
+ @fields = data['fields'] || data[:fields]
48
+ @job = data['job'] || data[:job]
49
+ @list_id = data['listId'] || data[:list_id]
50
+ @names = data['names'] || data[:names]
51
+ @prompt_id = data['promptId'] || data[:prompt_id]
52
+ @query = data['query'] || data[:query]
53
+ @question = data['question'] || data[:question]
54
+ @type = data['type'] || data[:type]
55
+ end
56
+
57
+ ##
58
+ # Convert to hash for API request
59
+ #
60
+ # @return [Hash] Hash representation
61
+ def to_hash
62
+ {
63
+ 'domains' => @domains,
64
+ 'estimate' => @estimate,
65
+ 'fields' => @fields,
66
+ 'job' => @job,
67
+ 'listId' => @list_id,
68
+ 'names' => @names,
69
+ 'promptId' => @prompt_id,
70
+ 'query' => @query,
71
+ 'question' => @question,
72
+ 'type' => @type,
73
+ }.compact
74
+ end
75
+
76
+ alias_method :to_h, :to_hash
77
+ end
78
+ end
79
+ end
80
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # RetryActionRequest - API request class
8
+ #
9
+ class RetryActionRequest
10
+ ##
11
+ # Initialize a new RetryActionRequest
12
+ #
13
+ # @param data [Hash] Request data
14
+ def initialize(data = {})
15
+ end
16
+
17
+ ##
18
+ # Convert to hash for API request
19
+ #
20
+ # @return [Hash] Hash representation
21
+ def to_hash
22
+ {
23
+ }.compact
24
+ end
25
+
26
+ alias_method :to_h, :to_hash
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,90 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # SearchCompaniesPostRequest - API request class
8
+ #
9
+ class SearchCompaniesPostRequest
10
+ # @return [Float] actionId
11
+ attr_accessor :action_id
12
+
13
+ # @return [String] domainsToExclude
14
+ attr_accessor :domains_to_exclude
15
+
16
+ # @return [String] linkedinToExclude
17
+ attr_accessor :linkedin_to_exclude
18
+
19
+ # @return [Float] page
20
+ attr_accessor :page
21
+
22
+ # @return [Array] query
23
+ attr_accessor :query
24
+
25
+ # @return [String] search
26
+ attr_accessor :search
27
+
28
+ # @return [Array] searchFields
29
+ attr_accessor :search_fields
30
+
31
+ # @return [Boolean] simplified
32
+ attr_accessor :simplified
33
+
34
+ # @return [Float] size
35
+ attr_accessor :size
36
+
37
+ # @return [Array] sortFields
38
+ attr_accessor :sort_fields
39
+
40
+ # @return [String] sortKey
41
+ attr_accessor :sort_key
42
+
43
+ # @return [String] sortOrder
44
+ attr_accessor :sort_order
45
+
46
+ ##
47
+ # Initialize a new SearchCompaniesPostRequest
48
+ #
49
+ # @param data [Hash] Request data
50
+ def initialize(data = {})
51
+ @action_id = data['actionId'] || data[:action_id]
52
+ @domains_to_exclude = data['domainsToExclude'] || data[:domains_to_exclude]
53
+ @linkedin_to_exclude = data['linkedinToExclude'] || data[:linkedin_to_exclude]
54
+ @page = data['page'] || data[:page]
55
+ @query = data['query'] || data[:query]
56
+ @search = data['search'] || data[:search]
57
+ @search_fields = data['searchFields'] || data[:search_fields]
58
+ @simplified = data['simplified'] || data[:simplified]
59
+ @size = data['size'] || data[:size]
60
+ @sort_fields = data['sortFields'] || data[:sort_fields]
61
+ @sort_key = data['sortKey'] || data[:sort_key]
62
+ @sort_order = data['sortOrder'] || data[:sort_order]
63
+ end
64
+
65
+ ##
66
+ # Convert to hash for API request
67
+ #
68
+ # @return [Hash] Hash representation
69
+ def to_hash
70
+ {
71
+ 'actionId' => @action_id,
72
+ 'domainsToExclude' => @domains_to_exclude,
73
+ 'linkedinToExclude' => @linkedin_to_exclude,
74
+ 'page' => @page,
75
+ 'query' => @query,
76
+ 'search' => @search,
77
+ 'searchFields' => @search_fields,
78
+ 'simplified' => @simplified,
79
+ 'size' => @size,
80
+ 'sortFields' => @sort_fields,
81
+ 'sortKey' => @sort_key,
82
+ 'sortOrder' => @sort_order,
83
+ }.compact
84
+ end
85
+
86
+ alias_method :to_h, :to_hash
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # ToggleCompaniesInListRequest - API request class
8
+ #
9
+ class ToggleCompaniesInListRequest
10
+ # @return [String] action
11
+ attr_accessor :action
12
+
13
+ # @return [Array] companyIds
14
+ attr_accessor :company_ids
15
+
16
+ # @return [Array] domains
17
+ attr_accessor :domains
18
+
19
+ # @return [Boolean] refresh
20
+ attr_accessor :refresh
21
+
22
+ ##
23
+ # Initialize a new ToggleCompaniesInListRequest
24
+ #
25
+ # @param data [Hash] Request data
26
+ def initialize(data = {})
27
+ @action = data['action'] || data[:action]
28
+ @company_ids = data['companyIds'] || data[:company_ids]
29
+ @domains = data['domains'] || data[:domains]
30
+ @refresh = data['refresh'] || data[:refresh]
31
+ end
32
+
33
+ ##
34
+ # Convert to hash for API request
35
+ #
36
+ # @return [Hash] Hash representation
37
+ def to_hash
38
+ {
39
+ 'action' => @action,
40
+ 'companyIds' => @company_ids,
41
+ 'domains' => @domains,
42
+ 'refresh' => @refresh,
43
+ }.compact
44
+ end
45
+
46
+ alias_method :to_h, :to_hash
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,65 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # UpdateListRequest - API request class
8
+ #
9
+ class UpdateListRequest
10
+ # @return [Boolean] dynamic
11
+ attr_accessor :dynamic
12
+
13
+ # @return [Boolean] lastSeen
14
+ attr_accessor :last_seen
15
+
16
+ # @return [String] mailFrequency
17
+ attr_accessor :mail_frequency
18
+
19
+ # @return [Object] maxCompanies
20
+ attr_accessor :max_companies
21
+
22
+ # @return [String] name
23
+ attr_accessor :name
24
+
25
+ # @return [Array] query
26
+ attr_accessor :query
27
+
28
+ # @return [Boolean] resync
29
+ attr_accessor :resync
30
+
31
+ ##
32
+ # Initialize a new UpdateListRequest
33
+ #
34
+ # @param data [Hash] Request data
35
+ def initialize(data = {})
36
+ @dynamic = data['dynamic'] || data[:dynamic]
37
+ @last_seen = data['lastSeen'] || data[:last_seen]
38
+ @mail_frequency = data['mailFrequency'] || data[:mail_frequency]
39
+ @max_companies = data['maxCompanies'] || data[:max_companies]
40
+ @name = data['name'] || data[:name]
41
+ @query = data['query'] || data[:query]
42
+ @resync = data['resync'] || data[:resync]
43
+ end
44
+
45
+ ##
46
+ # Convert to hash for API request
47
+ #
48
+ # @return [Hash] Hash representation
49
+ def to_hash
50
+ {
51
+ 'dynamic' => @dynamic,
52
+ 'lastSeen' => @last_seen,
53
+ 'mailFrequency' => @mail_frequency,
54
+ 'maxCompanies' => @max_companies,
55
+ 'name' => @name,
56
+ 'query' => @query,
57
+ 'resync' => @resync,
58
+ }.compact
59
+ end
60
+
61
+ alias_method :to_h, :to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,45 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Requests
6
+ ##
7
+ # UpdateTeamRequest - API request class
8
+ #
9
+ class UpdateTeamRequest
10
+ # @return [String] country
11
+ attr_accessor :country
12
+
13
+ # @return [String] name
14
+ attr_accessor :name
15
+
16
+ # @return [String] websiteUrl
17
+ attr_accessor :website_url
18
+
19
+ ##
20
+ # Initialize a new UpdateTeamRequest
21
+ #
22
+ # @param data [Hash] Request data
23
+ def initialize(data = {})
24
+ @country = data['country'] || data[:country]
25
+ @name = data['name'] || data[:name]
26
+ @website_url = data['websiteUrl'] || data[:website_url]
27
+ end
28
+
29
+ ##
30
+ # Convert to hash for API request
31
+ #
32
+ # @return [Hash] Hash representation
33
+ def to_hash
34
+ {
35
+ 'country' => @country,
36
+ 'name' => @name,
37
+ 'websiteUrl' => @website_url,
38
+ }.compact
39
+ end
40
+
41
+ alias_method :to_h, :to_hash
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Responses
6
+ ##
7
+ # AskCompanyResponse - API response class
8
+ #
9
+ #
10
+ #
11
+ class AskCompanyResponse
12
+ # @return [Hash] meta
13
+ attr_reader :meta
14
+
15
+ # @return [Object] A natural language request made to the platform resolving to a specific action or search segment.
16
+ attr_reader :prompt
17
+
18
+ ##
19
+ # Initialize a new AskCompanyResponse
20
+ #
21
+ # @param data [Hash] Response data
22
+ def initialize(data = {})
23
+ @meta = convert_property(data['meta'], 'meta')
24
+ @prompt = convert_property(data['prompt'], 'prompt')
25
+ end
26
+
27
+ private
28
+
29
+ def convert_property(value, property)
30
+ case property
31
+ else
32
+ value
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Responses
6
+ ##
7
+ # CountCompaniesPostResponse - API response class
8
+ #
9
+ #
10
+ #
11
+ class CountCompaniesPostResponse
12
+ # @return [Float] count
13
+ attr_reader :count
14
+
15
+ ##
16
+ # Initialize a new CountCompaniesPostResponse
17
+ #
18
+ # @param data [Hash] Response data
19
+ def initialize(data = {})
20
+ @count = convert_property(data['count'], 'count')
21
+ end
22
+
23
+ private
24
+
25
+ def convert_property(value, property)
26
+ case property
27
+ else
28
+ value
29
+ end
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end