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,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # Action model
8
+ #
9
+ # An action tracks a request made to our job queue and its result.
10
+ class Action
11
+ # @return [Float] attempts
12
+ attr_accessor :attempts
13
+
14
+ # @return [Object] cost
15
+ attr_accessor :cost
16
+
17
+ # @return [Object] createdAt
18
+ attr_accessor :created_at
19
+
20
+ # @return [Hash] data
21
+ attr_accessor :data
22
+
23
+ # @return [Float] id
24
+ attr_accessor :id
25
+
26
+ # @return [Float] listId
27
+ attr_accessor :list_id
28
+
29
+ # @return [Float] promptId
30
+ attr_accessor :prompt_id
31
+
32
+ # @return [Hash] result
33
+ attr_accessor :result
34
+
35
+ # @return [String] status
36
+ attr_accessor :status
37
+
38
+ # @return [Float] teamId
39
+ attr_accessor :team_id
40
+
41
+ # @return [String] type
42
+ attr_accessor :type
43
+
44
+ # @return [Object] updatedAt
45
+ attr_accessor :updated_at
46
+
47
+ ##
48
+ # Initialize a new Action
49
+ #
50
+ # @param data [Hash] Initial data
51
+ def initialize(data = {})
52
+ @attempts = data['attempts']
53
+ @cost = data['cost']
54
+ @created_at = data['createdAt']
55
+ @data = data['data']
56
+ @id = data['id']
57
+ @list_id = data['listId']
58
+ @prompt_id = data['promptId']
59
+ @result = data['result']
60
+ @status = data['status']
61
+ @team_id = data['teamId']
62
+ @type = data['type']
63
+ @updated_at = data['updatedAt']
64
+ end
65
+
66
+ ##
67
+ # Convert to hash
68
+ #
69
+ # @return [Hash] Hash representation
70
+ def to_hash
71
+ {
72
+ 'attempts' => @attempts,
73
+ 'cost' => @cost,
74
+ 'createdAt' => @created_at,
75
+ 'data' => @data,
76
+ 'id' => @id,
77
+ 'listId' => @list_id,
78
+ 'promptId' => @prompt_id,
79
+ 'result' => @result,
80
+ 'status' => @status,
81
+ 'teamId' => @team_id,
82
+ 'type' => @type,
83
+ 'updatedAt' => @updated_at,
84
+ }
85
+ end
86
+
87
+ alias_method :to_h, :to_hash
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # CompanyV2 model
8
+ #
9
+ # Our complete schema for company data.
10
+ class CompanyV2
11
+ # @return [String] id
12
+ attr_accessor :id
13
+
14
+ # @return [Hash] about
15
+ attr_accessor :about
16
+
17
+ # @return [Hash] analytics
18
+ attr_accessor :analytics
19
+
20
+ # @return [Hash] The apps the company owns.
21
+ attr_accessor :apps
22
+
23
+ # @return [Hash] assets
24
+ attr_accessor :assets
25
+
26
+ # @return [Hash] codes
27
+ attr_accessor :codes
28
+
29
+ # @return [Hash] companies
30
+ attr_accessor :companies
31
+
32
+ # @return [Hash] contacts
33
+ attr_accessor :contacts
34
+
35
+ # @return [Hash] contents
36
+ attr_accessor :contents
37
+
38
+ # @return [Hash] descriptions
39
+ attr_accessor :descriptions
40
+
41
+ # @return [Hash] domain
42
+ attr_accessor :domain
43
+
44
+ # @return [Hash] finances
45
+ attr_accessor :finances
46
+
47
+ # @return [Hash] locations
48
+ attr_accessor :locations
49
+
50
+ # @return [Hash] meta
51
+ attr_accessor :meta
52
+
53
+ # @return [Hash] people
54
+ attr_accessor :people
55
+
56
+ # @return [Hash] secondaries
57
+ attr_accessor :secondaries
58
+
59
+ # @return [Hash] The social media pages of the company.
60
+ attr_accessor :socials
61
+
62
+ # @return [Hash] technologies
63
+ attr_accessor :technologies
64
+
65
+ # @return [Hash] urls
66
+ attr_accessor :urls
67
+
68
+ # @return [Hash] vectors
69
+ attr_accessor :vectors
70
+
71
+ # @return [Hash] The action results for the company.
72
+ attr_accessor :action
73
+
74
+ ##
75
+ # Initialize a new CompanyV2
76
+ #
77
+ # @param data [Hash] Initial data
78
+ def initialize(data = {})
79
+ @id = data['id']
80
+ @about = data['about']
81
+ @analytics = data['analytics']
82
+ @apps = data['apps']
83
+ @assets = data['assets']
84
+ @codes = data['codes']
85
+ @companies = data['companies']
86
+ @contacts = data['contacts']
87
+ @contents = data['contents']
88
+ @descriptions = data['descriptions']
89
+ @domain = data['domain']
90
+ @finances = data['finances']
91
+ @locations = data['locations']
92
+ @meta = data['meta']
93
+ @people = data['people']
94
+ @secondaries = data['secondaries']
95
+ @socials = data['socials']
96
+ @technologies = data['technologies']
97
+ @urls = data['urls']
98
+ @vectors = data['vectors']
99
+ @action = data['action']
100
+ end
101
+
102
+ ##
103
+ # Convert to hash
104
+ #
105
+ # @return [Hash] Hash representation
106
+ def to_hash
107
+ {
108
+ 'id' => @id,
109
+ 'about' => @about,
110
+ 'analytics' => @analytics,
111
+ 'apps' => @apps,
112
+ 'assets' => @assets,
113
+ 'codes' => @codes,
114
+ 'companies' => @companies,
115
+ 'contacts' => @contacts,
116
+ 'contents' => @contents,
117
+ 'descriptions' => @descriptions,
118
+ 'domain' => @domain,
119
+ 'finances' => @finances,
120
+ 'locations' => @locations,
121
+ 'meta' => @meta,
122
+ 'people' => @people,
123
+ 'secondaries' => @secondaries,
124
+ 'socials' => @socials,
125
+ 'technologies' => @technologies,
126
+ 'urls' => @urls,
127
+ 'vectors' => @vectors,
128
+ 'action' => @action,
129
+ }
130
+ end
131
+
132
+ alias_method :to_h, :to_hash
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,51 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # EmailPattern model
8
+ #
9
+ # An email pattern and its related informations.
10
+ class EmailPattern
11
+ # @return [Object] emailsCount
12
+ attr_accessor :emails_count
13
+
14
+ # @return [Float] id
15
+ attr_accessor :id
16
+
17
+ # @return [String] pattern
18
+ attr_accessor :pattern
19
+
20
+ # @return [Object] usagePercentage
21
+ attr_accessor :usage_percentage
22
+
23
+ ##
24
+ # Initialize a new EmailPattern
25
+ #
26
+ # @param data [Hash] Initial data
27
+ def initialize(data = {})
28
+ @emails_count = data['emailsCount']
29
+ @id = data['id']
30
+ @pattern = data['pattern']
31
+ @usage_percentage = data['usagePercentage']
32
+ end
33
+
34
+ ##
35
+ # Convert to hash
36
+ #
37
+ # @return [Hash] Hash representation
38
+ def to_hash
39
+ {
40
+ 'emailsCount' => @emails_count,
41
+ 'id' => @id,
42
+ 'pattern' => @pattern,
43
+ 'usagePercentage' => @usage_percentage,
44
+ }
45
+ end
46
+
47
+ alias_method :to_h, :to_hash
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # JobTitle model
8
+ #
9
+ # A job title and its related informations.
10
+ class JobTitle
11
+ # @return [Object] department
12
+ attr_accessor :department
13
+
14
+ # @return [Object] departmentSecondary
15
+ attr_accessor :department_secondary
16
+
17
+ # @return [Float] id
18
+ attr_accessor :id
19
+
20
+ # @return [Object] linkedinCount
21
+ attr_accessor :linkedin_count
22
+
23
+ # @return [String] name
24
+ attr_accessor :name
25
+
26
+ # @return [Object] nameEs
27
+ attr_accessor :name_es
28
+
29
+ # @return [Object] nameFr
30
+ attr_accessor :name_fr
31
+
32
+ # @return [Object] seniorityLevel
33
+ attr_accessor :seniority_level
34
+
35
+ # @return [Object] seniorityLevelSecondary
36
+ attr_accessor :seniority_level_secondary
37
+
38
+ # @return [Object] usageCount
39
+ attr_accessor :usage_count
40
+
41
+ ##
42
+ # Initialize a new JobTitle
43
+ #
44
+ # @param data [Hash] Initial data
45
+ def initialize(data = {})
46
+ @department = data['department']
47
+ @department_secondary = data['departmentSecondary']
48
+ @id = data['id']
49
+ @linkedin_count = data['linkedinCount']
50
+ @name = data['name']
51
+ @name_es = data['nameEs']
52
+ @name_fr = data['nameFr']
53
+ @seniority_level = data['seniorityLevel']
54
+ @seniority_level_secondary = data['seniorityLevelSecondary']
55
+ @usage_count = data['usageCount']
56
+ end
57
+
58
+ ##
59
+ # Convert to hash
60
+ #
61
+ # @return [Hash] Hash representation
62
+ def to_hash
63
+ {
64
+ 'department' => @department,
65
+ 'departmentSecondary' => @department_secondary,
66
+ 'id' => @id,
67
+ 'linkedinCount' => @linkedin_count,
68
+ 'name' => @name,
69
+ 'nameEs' => @name_es,
70
+ 'nameFr' => @name_fr,
71
+ 'seniorityLevel' => @seniority_level,
72
+ 'seniorityLevelSecondary' => @seniority_level_secondary,
73
+ 'usageCount' => @usage_count,
74
+ }
75
+ end
76
+
77
+ alias_method :to_h, :to_hash
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,141 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # List model
8
+ #
9
+ # A collection of companies saved or imported by a team.
10
+ class List
11
+ # @return [Object] analytics
12
+ attr_accessor :analytics
13
+
14
+ # @return [Object] companyListId
15
+ attr_accessor :company_list_id
16
+
17
+ # @return [Object] createdAt
18
+ attr_accessor :created_at
19
+
20
+ # @return [Object] dynamic
21
+ attr_accessor :dynamic
22
+
23
+ # @return [Boolean] exporting
24
+ attr_accessor :exporting
25
+
26
+ # @return [Object] exportingAt
27
+ attr_accessor :exporting_at
28
+
29
+ # @return [Float] id
30
+ attr_accessor :id
31
+
32
+ # @return [Boolean] imported
33
+ attr_accessor :imported
34
+
35
+ # @return [Object] mailFrequencies
36
+ attr_accessor :mail_frequencies
37
+
38
+ # @return [Object] maxCompanies
39
+ attr_accessor :max_companies
40
+
41
+ # @return [String] name
42
+ attr_accessor :name
43
+
44
+ # @return [Boolean] processActive
45
+ attr_accessor :process_active
46
+
47
+ # @return [Object] processDisabled
48
+ attr_accessor :process_disabled
49
+
50
+ # @return [Object] processingAt
51
+ attr_accessor :processing_at
52
+
53
+ # @return [Boolean] processInitialized
54
+ attr_accessor :process_initialized
55
+
56
+ # @return [Object] processMessage
57
+ attr_accessor :process_message
58
+
59
+ # @return [Array] query
60
+ attr_accessor :query
61
+
62
+ # @return [Array] querySimilar
63
+ attr_accessor :query_similar
64
+
65
+ # @return [Object] teamId
66
+ attr_accessor :team_id
67
+
68
+ # @return [Array] unseenActions
69
+ attr_accessor :unseen_actions
70
+
71
+ # @return [Object] userId
72
+ attr_accessor :user_id
73
+
74
+ # @return [Array] vectors
75
+ attr_accessor :vectors
76
+
77
+ ##
78
+ # Initialize a new List
79
+ #
80
+ # @param data [Hash] Initial data
81
+ def initialize(data = {})
82
+ @analytics = data['analytics']
83
+ @company_list_id = data['companyListId']
84
+ @created_at = data['createdAt']
85
+ @dynamic = data['dynamic']
86
+ @exporting = data['exporting']
87
+ @exporting_at = data['exportingAt']
88
+ @id = data['id']
89
+ @imported = data['imported']
90
+ @mail_frequencies = data['mailFrequencies']
91
+ @max_companies = data['maxCompanies']
92
+ @name = data['name']
93
+ @process_active = data['processActive']
94
+ @process_disabled = data['processDisabled']
95
+ @processing_at = data['processingAt']
96
+ @process_initialized = data['processInitialized']
97
+ @process_message = data['processMessage']
98
+ @query = data['query']
99
+ @query_similar = data['querySimilar']
100
+ @team_id = data['teamId']
101
+ @unseen_actions = data['unseenActions']
102
+ @user_id = data['userId']
103
+ @vectors = data['vectors']
104
+ end
105
+
106
+ ##
107
+ # Convert to hash
108
+ #
109
+ # @return [Hash] Hash representation
110
+ def to_hash
111
+ {
112
+ 'analytics' => @analytics,
113
+ 'companyListId' => @company_list_id,
114
+ 'createdAt' => @created_at,
115
+ 'dynamic' => @dynamic,
116
+ 'exporting' => @exporting,
117
+ 'exportingAt' => @exporting_at,
118
+ 'id' => @id,
119
+ 'imported' => @imported,
120
+ 'mailFrequencies' => @mail_frequencies,
121
+ 'maxCompanies' => @max_companies,
122
+ 'name' => @name,
123
+ 'processActive' => @process_active,
124
+ 'processDisabled' => @process_disabled,
125
+ 'processingAt' => @processing_at,
126
+ 'processInitialized' => @process_initialized,
127
+ 'processMessage' => @process_message,
128
+ 'query' => @query,
129
+ 'querySimilar' => @query_similar,
130
+ 'teamId' => @team_id,
131
+ 'unseenActions' => @unseen_actions,
132
+ 'userId' => @user_id,
133
+ 'vectors' => @vectors,
134
+ }
135
+ end
136
+
137
+ alias_method :to_h, :to_hash
138
+ end
139
+ end
140
+ end
141
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # ListAnalytics model
8
+ #
9
+ # Analytics collection of a list.
10
+ class ListAnalytics
11
+ # @return [Object] companiesCount
12
+ attr_accessor :companies_count
13
+
14
+ # @return [Float] id
15
+ attr_accessor :id
16
+
17
+ # @return [Object] listId
18
+ attr_accessor :list_id
19
+
20
+ ##
21
+ # Initialize a new ListAnalytics
22
+ #
23
+ # @param data [Hash] Initial data
24
+ def initialize(data = {})
25
+ @companies_count = data['companiesCount']
26
+ @id = data['id']
27
+ @list_id = data['listId']
28
+ end
29
+
30
+ ##
31
+ # Convert to hash
32
+ #
33
+ # @return [Hash] Hash representation
34
+ def to_hash
35
+ {
36
+ 'companiesCount' => @companies_count,
37
+ 'id' => @id,
38
+ 'listId' => @list_id,
39
+ }
40
+ end
41
+
42
+ alias_method :to_h, :to_hash
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,66 @@
1
+ # frozen_string_literal: true
2
+
3
+ module TheCompaniesAPI
4
+ module Generated
5
+ module Models
6
+ ##
7
+ # Llmanswer model
8
+ #
9
+ # An answer from a query made to the LLM.
10
+ class Llmanswer
11
+ # @return [Float] companyId
12
+ attr_accessor :company_id
13
+
14
+ # @return [String] explanation
15
+ attr_accessor :explanation
16
+
17
+ # @return [Array] fields
18
+ attr_accessor :fields
19
+
20
+ # @return [Boolean] grounded
21
+ attr_accessor :grounded
22
+
23
+ # @return [Hash] output
24
+ attr_accessor :output
25
+
26
+ # @return [String] question
27
+ attr_accessor :question
28
+
29
+ # @return [Float] score
30
+ attr_accessor :score
31
+
32
+ ##
33
+ # Initialize a new Llmanswer
34
+ #
35
+ # @param data [Hash] Initial data
36
+ def initialize(data = {})
37
+ @company_id = data['companyId']
38
+ @explanation = data['explanation']
39
+ @fields = data['fields']
40
+ @grounded = data['grounded']
41
+ @output = data['output']
42
+ @question = data['question']
43
+ @score = data['score']
44
+ end
45
+
46
+ ##
47
+ # Convert to hash
48
+ #
49
+ # @return [Hash] Hash representation
50
+ def to_hash
51
+ {
52
+ 'companyId' => @company_id,
53
+ 'explanation' => @explanation,
54
+ 'fields' => @fields,
55
+ 'grounded' => @grounded,
56
+ 'output' => @output,
57
+ 'question' => @question,
58
+ 'score' => @score,
59
+ }
60
+ end
61
+
62
+ alias_method :to_h, :to_hash
63
+ end
64
+ end
65
+ end
66
+ end