test_sdk 0.0.4
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 +7 -0
- data/lib/core/file_utilities.rb +26 -0
- data/lib/environment.rb +7 -0
- data/lib/gemconfig.rb +14 -0
- data/lib/requests.rb +166 -0
- data/lib/test_sdk/benchmark/client.rb +1031 -0
- data/lib/test_sdk/company/client.rb +474 -0
- data/lib/test_sdk/deal/client.rb +584 -0
- data/lib/test_sdk/file/client.rb +692 -0
- data/lib/test_sdk/financials/client.rb +97 -0
- data/lib/test_sdk/group/client.rb +737 -0
- data/lib/test_sdk/macro/client.rb +422 -0
- data/lib/test_sdk/metadata/client.rb +95 -0
- data/lib/test_sdk/product/client.rb +419 -0
- data/lib/test_sdk/talent/client.rb +266 -0
- data/lib/test_sdk/types/account_manager_response.rb +74 -0
- data/lib/test_sdk/types/all_data_metadata_response.rb +68 -0
- data/lib/test_sdk/types/area.rb +74 -0
- data/lib/test_sdk/types/authenticate_api_key_response.rb +55 -0
- data/lib/test_sdk/types/available_categories_response.rb +5 -0
- data/lib/test_sdk/types/available_models_response.rb +69 -0
- data/lib/test_sdk/types/band_response.rb +83 -0
- data/lib/test_sdk/types/benchmark_quantile.rb +465 -0
- data/lib/test_sdk/types/categories_metadata_response.rb +72 -0
- data/lib/test_sdk/types/category_growth_rates.rb +143 -0
- data/lib/test_sdk/types/category_metadata.rb +79 -0
- data/lib/test_sdk/types/category_metadata_default_user_type.rb +8 -0
- data/lib/test_sdk/types/cohorts_response.rb +132 -0
- data/lib/test_sdk/types/column_metadata.rb +110 -0
- data/lib/test_sdk/types/column_mini_metadata.rb +83 -0
- data/lib/test_sdk/types/columns_metadata_response.rb +72 -0
- data/lib/test_sdk/types/company_response.rb +120 -0
- data/lib/test_sdk/types/concentration_endpoint_cdf_detail.rb +96 -0
- data/lib/test_sdk/types/concentration_endpoint_top_users_detail.rb +72 -0
- data/lib/test_sdk/types/concentration_response.rb +103 -0
- data/lib/test_sdk/types/concentration_timeseries_detail.rb +159 -0
- data/lib/test_sdk/types/contribution_response.rb +135 -0
- data/lib/test_sdk/types/create_api_key_response.rb +55 -0
- data/lib/test_sdk/types/create_file_for_signed_url_response.rb +127 -0
- data/lib/test_sdk/types/create_file_response.rb +113 -0
- data/lib/test_sdk/types/deal_combined_metrics_response.rb +477 -0
- data/lib/test_sdk/types/deal_data_availablity_response.rb +109 -0
- data/lib/test_sdk/types/deal_with_files_response.rb +194 -0
- data/lib/test_sdk/types/endpoint_seniority_count.rb +66 -0
- data/lib/test_sdk/types/executive_profile.rb +91 -0
- data/lib/test_sdk/types/executive_profile_position.rb +97 -0
- data/lib/test_sdk/types/file_response.rb +113 -0
- data/lib/test_sdk/types/file_type.rb +14 -0
- data/lib/test_sdk/types/financial_metrics.rb +113 -0
- data/lib/test_sdk/types/financials_response.rb +102 -0
- data/lib/test_sdk/types/frequency.rb +9 -0
- data/lib/test_sdk/types/function_level_growth_accounting.rb +111 -0
- data/lib/test_sdk/types/gcs_signed_url_response.rb +81 -0
- data/lib/test_sdk/types/group_response.rb +158 -0
- data/lib/test_sdk/types/group_user.rb +124 -0
- data/lib/test_sdk/types/group_with_users_response.rb +170 -0
- data/lib/test_sdk/types/growth_accounting_response.rb +226 -0
- data/lib/test_sdk/types/healthz_response.rb +55 -0
- data/lib/test_sdk/types/http_validation_error.rb +61 -0
- data/lib/test_sdk/types/income_statement_entry.rb +81 -0
- data/lib/test_sdk/types/model_metadata.rb +76 -0
- data/lib/test_sdk/types/models_metadata_response.rb +76 -0
- data/lib/test_sdk/types/paginated_response_company_response.rb +83 -0
- data/lib/test_sdk/types/paginated_response_deal_with_files_response.rb +84 -0
- data/lib/test_sdk/types/paginated_response_file_response.rb +83 -0
- data/lib/test_sdk/types/paginated_response_group_user.rb +83 -0
- data/lib/test_sdk/types/permission_model.rb +65 -0
- data/lib/test_sdk/types/priority.rb +10 -0
- data/lib/test_sdk/types/product_info_response.rb +65 -0
- data/lib/test_sdk/types/role_response.rb +95 -0
- data/lib/test_sdk/types/scale.rb +72 -0
- data/lib/test_sdk/types/scale_model.rb +80 -0
- data/lib/test_sdk/types/scale_models_response.rb +5 -0
- data/lib/test_sdk/types/scaling.rb +10 -0
- data/lib/test_sdk/types/status.rb +12 -0
- data/lib/test_sdk/types/tradeoff_model.rb +95 -0
- data/lib/test_sdk/types/tradeoff_models_response.rb +5 -0
- data/lib/test_sdk/types/unit.rb +12 -0
- data/lib/test_sdk/types/unit_economics_info_response.rb +55 -0
- data/lib/test_sdk/types/user_accounting_response.rb +168 -0
- data/lib/test_sdk/types/user_role_response.rb +77 -0
- data/lib/test_sdk/types/user_type.rb +12 -0
- data/lib/test_sdk/types/user_with_groups_response.rb +140 -0
- data/lib/test_sdk/types/user_with_permissions_response.rb +153 -0
- data/lib/test_sdk/types/validation_error.rb +76 -0
- data/lib/test_sdk/types/validation_error_loc_item.rb +52 -0
- data/lib/test_sdk/types/weather_components.rb +123 -0
- data/lib/test_sdk/types/weather_gauge.rb +76 -0
- data/lib/test_sdk/types/weather_market_context.rb +109 -0
- data/lib/test_sdk/types/weather_metadata.rb +113 -0
- data/lib/test_sdk/unit_economics/client.rb +124 -0
- data/lib/test_sdk/user/client.rb +363 -0
- data/lib/test_sdk.rb +190 -0
- data/lib/types_export.rb +77 -0
- metadata +251 -0
@@ -0,0 +1,422 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../requests"
|
4
|
+
require "json"
|
5
|
+
require_relative "../types/weather_metadata"
|
6
|
+
require_relative "../types/weather_gauge"
|
7
|
+
require_relative "../types/weather_components"
|
8
|
+
require_relative "../types/weather_market_context"
|
9
|
+
require "async"
|
10
|
+
|
11
|
+
module NewDemoApiClient
|
12
|
+
class MacroClient
|
13
|
+
# @return [NewDemoApiClient::RequestClient]
|
14
|
+
attr_reader :request_client
|
15
|
+
|
16
|
+
# @param request_client [NewDemoApiClient::RequestClient]
|
17
|
+
# @return [NewDemoApiClient::MacroClient]
|
18
|
+
def initialize(request_client:)
|
19
|
+
@request_client = request_client
|
20
|
+
end
|
21
|
+
|
22
|
+
# Returns the available segmentations for the weather module.
|
23
|
+
#
|
24
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
25
|
+
# @return [Array<String>]
|
26
|
+
# @example
|
27
|
+
# api = NewDemoApiClient::Client.new(
|
28
|
+
# base_url: "https://api.example.com",
|
29
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
30
|
+
# token: "YOUR_AUTH_TOKEN"
|
31
|
+
# )
|
32
|
+
# api.macro.get_segmentations
|
33
|
+
def get_segmentations(request_options: nil)
|
34
|
+
response = @request_client.conn.get do |req|
|
35
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
36
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
37
|
+
req.headers = {
|
38
|
+
**(req.headers || {}),
|
39
|
+
**@request_client.get_headers,
|
40
|
+
**(request_options&.additional_headers || {})
|
41
|
+
}.compact
|
42
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
43
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
44
|
+
end
|
45
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
46
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
47
|
+
end
|
48
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/segmentations"
|
49
|
+
end
|
50
|
+
JSON.parse(response.body)
|
51
|
+
end
|
52
|
+
|
53
|
+
# Returns segmentation metadata for each of the classes of segmentations "geo" and
|
54
|
+
# "sector".
|
55
|
+
# The geography ("geo") segmentation type refers to major geographic
|
56
|
+
# segmentations.
|
57
|
+
# The "sector" segmentation type refers to major business model categories in the
|
58
|
+
# USA geography.
|
59
|
+
# The metadata includes parameters used to generate the respective indicators, and
|
60
|
+
# the metadata needed to
|
61
|
+
# retrieve the series from the API.
|
62
|
+
#
|
63
|
+
# @param segmentation [String]
|
64
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
65
|
+
# @return [Array<NewDemoApiClient::WeatherMetadata>]
|
66
|
+
# @example
|
67
|
+
# api = NewDemoApiClient::Client.new(
|
68
|
+
# base_url: "https://api.example.com",
|
69
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
70
|
+
# token: "YOUR_AUTH_TOKEN"
|
71
|
+
# )
|
72
|
+
# api.macro.get_metadata(segmentation: "segmentation")
|
73
|
+
def get_metadata(segmentation:, request_options: nil)
|
74
|
+
response = @request_client.conn.get do |req|
|
75
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
76
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
77
|
+
req.headers = {
|
78
|
+
**(req.headers || {}),
|
79
|
+
**@request_client.get_headers,
|
80
|
+
**(request_options&.additional_headers || {})
|
81
|
+
}.compact
|
82
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
83
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
84
|
+
end
|
85
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
86
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
87
|
+
end
|
88
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/metadata"
|
89
|
+
end
|
90
|
+
parsed_json = JSON.parse(response.body)
|
91
|
+
parsed_json&.map do |item|
|
92
|
+
item = item.to_json
|
93
|
+
NewDemoApiClient::WeatherMetadata.from_json(json_object: item)
|
94
|
+
end
|
95
|
+
end
|
96
|
+
|
97
|
+
# Returns the overall weather indicator, combined across all stages, for the given
|
98
|
+
# segmentation slug(s).
|
99
|
+
# If no slug is provided, the endpoint will return the gauge for all available
|
100
|
+
# segmentations.
|
101
|
+
#
|
102
|
+
# @param segmentation [String]
|
103
|
+
# @param slug [String]
|
104
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
105
|
+
# @return [Array<NewDemoApiClient::WeatherGauge>]
|
106
|
+
# @example
|
107
|
+
# api = NewDemoApiClient::Client.new(
|
108
|
+
# base_url: "https://api.example.com",
|
109
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
110
|
+
# token: "YOUR_AUTH_TOKEN"
|
111
|
+
# )
|
112
|
+
# api.macro.get_gauge(segmentation: "segmentation")
|
113
|
+
def get_gauge(segmentation:, slug: nil, request_options: nil)
|
114
|
+
response = @request_client.conn.get do |req|
|
115
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
116
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
117
|
+
req.headers = {
|
118
|
+
**(req.headers || {}),
|
119
|
+
**@request_client.get_headers,
|
120
|
+
**(request_options&.additional_headers || {})
|
121
|
+
}.compact
|
122
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "slug": slug }.compact
|
123
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
124
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
125
|
+
end
|
126
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/gauges"
|
127
|
+
end
|
128
|
+
parsed_json = JSON.parse(response.body)
|
129
|
+
parsed_json&.map do |item|
|
130
|
+
item = item.to_json
|
131
|
+
NewDemoApiClient::WeatherGauge.from_json(json_object: item)
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
# Returns the individual components of the weather indicator and some of the
|
136
|
+
# underlying inputs of those component gauges for the given segmentation slug.
|
137
|
+
#
|
138
|
+
# @param segmentation [String]
|
139
|
+
# @param slug [String]
|
140
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
141
|
+
# @return [Array<NewDemoApiClient::WeatherComponents>]
|
142
|
+
# @example
|
143
|
+
# api = NewDemoApiClient::Client.new(
|
144
|
+
# base_url: "https://api.example.com",
|
145
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
146
|
+
# token: "YOUR_AUTH_TOKEN"
|
147
|
+
# )
|
148
|
+
# api.macro.get_components(segmentation: "segmentation", slug: "slug")
|
149
|
+
def get_components(segmentation:, slug:, request_options: nil)
|
150
|
+
response = @request_client.conn.get do |req|
|
151
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
152
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
153
|
+
req.headers = {
|
154
|
+
**(req.headers || {}),
|
155
|
+
**@request_client.get_headers,
|
156
|
+
**(request_options&.additional_headers || {})
|
157
|
+
}.compact
|
158
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
159
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
160
|
+
end
|
161
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
162
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
163
|
+
end
|
164
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/#{slug}/components"
|
165
|
+
end
|
166
|
+
parsed_json = JSON.parse(response.body)
|
167
|
+
parsed_json&.map do |item|
|
168
|
+
item = item.to_json
|
169
|
+
NewDemoApiClient::WeatherComponents.from_json(json_object: item)
|
170
|
+
end
|
171
|
+
end
|
172
|
+
|
173
|
+
# Returns simplified contextual metrics about relevant stages and market activity
|
174
|
+
# for the given segmentation slug.
|
175
|
+
#
|
176
|
+
# @param segmentation [String]
|
177
|
+
# @param slug [String]
|
178
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
179
|
+
# @return [Array<NewDemoApiClient::WeatherMarketContext>]
|
180
|
+
# @example
|
181
|
+
# api = NewDemoApiClient::Client.new(
|
182
|
+
# base_url: "https://api.example.com",
|
183
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
184
|
+
# token: "YOUR_AUTH_TOKEN"
|
185
|
+
# )
|
186
|
+
# api.macro.get_market_context(segmentation: "segmentation", slug: "slug")
|
187
|
+
def get_market_context(segmentation:, slug:, request_options: nil)
|
188
|
+
response = @request_client.conn.get do |req|
|
189
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
190
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
191
|
+
req.headers = {
|
192
|
+
**(req.headers || {}),
|
193
|
+
**@request_client.get_headers,
|
194
|
+
**(request_options&.additional_headers || {})
|
195
|
+
}.compact
|
196
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
197
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
198
|
+
end
|
199
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
200
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
201
|
+
end
|
202
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/#{slug}/market-context"
|
203
|
+
end
|
204
|
+
parsed_json = JSON.parse(response.body)
|
205
|
+
parsed_json&.map do |item|
|
206
|
+
item = item.to_json
|
207
|
+
NewDemoApiClient::WeatherMarketContext.from_json(json_object: item)
|
208
|
+
end
|
209
|
+
end
|
210
|
+
end
|
211
|
+
|
212
|
+
class AsyncMacroClient
|
213
|
+
# @return [NewDemoApiClient::AsyncRequestClient]
|
214
|
+
attr_reader :request_client
|
215
|
+
|
216
|
+
# @param request_client [NewDemoApiClient::AsyncRequestClient]
|
217
|
+
# @return [NewDemoApiClient::AsyncMacroClient]
|
218
|
+
def initialize(request_client:)
|
219
|
+
@request_client = request_client
|
220
|
+
end
|
221
|
+
|
222
|
+
# Returns the available segmentations for the weather module.
|
223
|
+
#
|
224
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
225
|
+
# @return [Array<String>]
|
226
|
+
# @example
|
227
|
+
# api = NewDemoApiClient::Client.new(
|
228
|
+
# base_url: "https://api.example.com",
|
229
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
230
|
+
# token: "YOUR_AUTH_TOKEN"
|
231
|
+
# )
|
232
|
+
# api.macro.get_segmentations
|
233
|
+
def get_segmentations(request_options: nil)
|
234
|
+
Async do
|
235
|
+
response = @request_client.conn.get do |req|
|
236
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
237
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
238
|
+
req.headers = {
|
239
|
+
**(req.headers || {}),
|
240
|
+
**@request_client.get_headers,
|
241
|
+
**(request_options&.additional_headers || {})
|
242
|
+
}.compact
|
243
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
244
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
245
|
+
end
|
246
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
247
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
248
|
+
end
|
249
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/segmentations"
|
250
|
+
end
|
251
|
+
parsed_json = JSON.parse(response.body)
|
252
|
+
parsed_json
|
253
|
+
end
|
254
|
+
end
|
255
|
+
|
256
|
+
# Returns segmentation metadata for each of the classes of segmentations "geo" and
|
257
|
+
# "sector".
|
258
|
+
# The geography ("geo") segmentation type refers to major geographic
|
259
|
+
# segmentations.
|
260
|
+
# The "sector" segmentation type refers to major business model categories in the
|
261
|
+
# USA geography.
|
262
|
+
# The metadata includes parameters used to generate the respective indicators, and
|
263
|
+
# the metadata needed to
|
264
|
+
# retrieve the series from the API.
|
265
|
+
#
|
266
|
+
# @param segmentation [String]
|
267
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
268
|
+
# @return [Array<NewDemoApiClient::WeatherMetadata>]
|
269
|
+
# @example
|
270
|
+
# api = NewDemoApiClient::Client.new(
|
271
|
+
# base_url: "https://api.example.com",
|
272
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
273
|
+
# token: "YOUR_AUTH_TOKEN"
|
274
|
+
# )
|
275
|
+
# api.macro.get_metadata(segmentation: "segmentation")
|
276
|
+
def get_metadata(segmentation:, request_options: nil)
|
277
|
+
Async do
|
278
|
+
response = @request_client.conn.get do |req|
|
279
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
280
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
281
|
+
req.headers = {
|
282
|
+
**(req.headers || {}),
|
283
|
+
**@request_client.get_headers,
|
284
|
+
**(request_options&.additional_headers || {})
|
285
|
+
}.compact
|
286
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
287
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
288
|
+
end
|
289
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
290
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
291
|
+
end
|
292
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/metadata"
|
293
|
+
end
|
294
|
+
parsed_json = JSON.parse(response.body)
|
295
|
+
parsed_json&.map do |item|
|
296
|
+
item = item.to_json
|
297
|
+
NewDemoApiClient::WeatherMetadata.from_json(json_object: item)
|
298
|
+
end
|
299
|
+
end
|
300
|
+
end
|
301
|
+
|
302
|
+
# Returns the overall weather indicator, combined across all stages, for the given
|
303
|
+
# segmentation slug(s).
|
304
|
+
# If no slug is provided, the endpoint will return the gauge for all available
|
305
|
+
# segmentations.
|
306
|
+
#
|
307
|
+
# @param segmentation [String]
|
308
|
+
# @param slug [String]
|
309
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
310
|
+
# @return [Array<NewDemoApiClient::WeatherGauge>]
|
311
|
+
# @example
|
312
|
+
# api = NewDemoApiClient::Client.new(
|
313
|
+
# base_url: "https://api.example.com",
|
314
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
315
|
+
# token: "YOUR_AUTH_TOKEN"
|
316
|
+
# )
|
317
|
+
# api.macro.get_gauge(segmentation: "segmentation")
|
318
|
+
def get_gauge(segmentation:, slug: nil, request_options: nil)
|
319
|
+
Async do
|
320
|
+
response = @request_client.conn.get do |req|
|
321
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
322
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
323
|
+
req.headers = {
|
324
|
+
**(req.headers || {}),
|
325
|
+
**@request_client.get_headers,
|
326
|
+
**(request_options&.additional_headers || {})
|
327
|
+
}.compact
|
328
|
+
req.params = { **(request_options&.additional_query_parameters || {}), "slug": slug }.compact
|
329
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
330
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
331
|
+
end
|
332
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/gauges"
|
333
|
+
end
|
334
|
+
parsed_json = JSON.parse(response.body)
|
335
|
+
parsed_json&.map do |item|
|
336
|
+
item = item.to_json
|
337
|
+
NewDemoApiClient::WeatherGauge.from_json(json_object: item)
|
338
|
+
end
|
339
|
+
end
|
340
|
+
end
|
341
|
+
|
342
|
+
# Returns the individual components of the weather indicator and some of the
|
343
|
+
# underlying inputs of those component gauges for the given segmentation slug.
|
344
|
+
#
|
345
|
+
# @param segmentation [String]
|
346
|
+
# @param slug [String]
|
347
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
348
|
+
# @return [Array<NewDemoApiClient::WeatherComponents>]
|
349
|
+
# @example
|
350
|
+
# api = NewDemoApiClient::Client.new(
|
351
|
+
# base_url: "https://api.example.com",
|
352
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
353
|
+
# token: "YOUR_AUTH_TOKEN"
|
354
|
+
# )
|
355
|
+
# api.macro.get_components(segmentation: "segmentation", slug: "slug")
|
356
|
+
def get_components(segmentation:, slug:, request_options: nil)
|
357
|
+
Async do
|
358
|
+
response = @request_client.conn.get do |req|
|
359
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
360
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
361
|
+
req.headers = {
|
362
|
+
**(req.headers || {}),
|
363
|
+
**@request_client.get_headers,
|
364
|
+
**(request_options&.additional_headers || {})
|
365
|
+
}.compact
|
366
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
367
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
368
|
+
end
|
369
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
370
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
371
|
+
end
|
372
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/#{slug}/components"
|
373
|
+
end
|
374
|
+
parsed_json = JSON.parse(response.body)
|
375
|
+
parsed_json&.map do |item|
|
376
|
+
item = item.to_json
|
377
|
+
NewDemoApiClient::WeatherComponents.from_json(json_object: item)
|
378
|
+
end
|
379
|
+
end
|
380
|
+
end
|
381
|
+
|
382
|
+
# Returns simplified contextual metrics about relevant stages and market activity
|
383
|
+
# for the given segmentation slug.
|
384
|
+
#
|
385
|
+
# @param segmentation [String]
|
386
|
+
# @param slug [String]
|
387
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
388
|
+
# @return [Array<NewDemoApiClient::WeatherMarketContext>]
|
389
|
+
# @example
|
390
|
+
# api = NewDemoApiClient::Client.new(
|
391
|
+
# base_url: "https://api.example.com",
|
392
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
393
|
+
# token: "YOUR_AUTH_TOKEN"
|
394
|
+
# )
|
395
|
+
# api.macro.get_market_context(segmentation: "segmentation", slug: "slug")
|
396
|
+
def get_market_context(segmentation:, slug:, request_options: nil)
|
397
|
+
Async do
|
398
|
+
response = @request_client.conn.get do |req|
|
399
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
400
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
401
|
+
req.headers = {
|
402
|
+
**(req.headers || {}),
|
403
|
+
**@request_client.get_headers,
|
404
|
+
**(request_options&.additional_headers || {})
|
405
|
+
}.compact
|
406
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
407
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
408
|
+
end
|
409
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
410
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
411
|
+
end
|
412
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/data/weather/#{segmentation}/#{slug}/market-context"
|
413
|
+
end
|
414
|
+
parsed_json = JSON.parse(response.body)
|
415
|
+
parsed_json&.map do |item|
|
416
|
+
item = item.to_json
|
417
|
+
NewDemoApiClient::WeatherMarketContext.from_json(json_object: item)
|
418
|
+
end
|
419
|
+
end
|
420
|
+
end
|
421
|
+
end
|
422
|
+
end
|
@@ -0,0 +1,95 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require_relative "../../requests"
|
4
|
+
require_relative "../types/all_data_metadata_response"
|
5
|
+
require "async"
|
6
|
+
|
7
|
+
module NewDemoApiClient
|
8
|
+
class MetadataClient
|
9
|
+
# @return [NewDemoApiClient::RequestClient]
|
10
|
+
attr_reader :request_client
|
11
|
+
|
12
|
+
# @param request_client [NewDemoApiClient::RequestClient]
|
13
|
+
# @return [NewDemoApiClient::MetadataClient]
|
14
|
+
def initialize(request_client:)
|
15
|
+
@request_client = request_client
|
16
|
+
end
|
17
|
+
|
18
|
+
# Retrieve select metadata about all diligence data for a group.
|
19
|
+
#
|
20
|
+
# @param group_id [Integer]
|
21
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
22
|
+
# @return [NewDemoApiClient::AllDataMetadataResponse]
|
23
|
+
# @example
|
24
|
+
# api = NewDemoApiClient::Client.new(
|
25
|
+
# base_url: "https://api.example.com",
|
26
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
27
|
+
# token: "YOUR_AUTH_TOKEN"
|
28
|
+
# )
|
29
|
+
# api.metadata.get_diligence_metadata(group_id: 1)
|
30
|
+
def get_diligence_metadata(group_id:, request_options: nil)
|
31
|
+
response = @request_client.conn.get do |req|
|
32
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
33
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
34
|
+
req.headers = {
|
35
|
+
**(req.headers || {}),
|
36
|
+
**@request_client.get_headers,
|
37
|
+
**(request_options&.additional_headers || {})
|
38
|
+
}.compact
|
39
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
40
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
41
|
+
end
|
42
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
43
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
44
|
+
end
|
45
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/data/metadata"
|
46
|
+
end
|
47
|
+
NewDemoApiClient::AllDataMetadataResponse.from_json(json_object: response.body)
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
class AsyncMetadataClient
|
52
|
+
# @return [NewDemoApiClient::AsyncRequestClient]
|
53
|
+
attr_reader :request_client
|
54
|
+
|
55
|
+
# @param request_client [NewDemoApiClient::AsyncRequestClient]
|
56
|
+
# @return [NewDemoApiClient::AsyncMetadataClient]
|
57
|
+
def initialize(request_client:)
|
58
|
+
@request_client = request_client
|
59
|
+
end
|
60
|
+
|
61
|
+
# Retrieve select metadata about all diligence data for a group.
|
62
|
+
#
|
63
|
+
# @param group_id [Integer]
|
64
|
+
# @param request_options [NewDemoApiClient::RequestOptions]
|
65
|
+
# @return [NewDemoApiClient::AllDataMetadataResponse]
|
66
|
+
# @example
|
67
|
+
# api = NewDemoApiClient::Client.new(
|
68
|
+
# base_url: "https://api.example.com",
|
69
|
+
# environment: NewDemoApiClient::Environment::DEFAULT,
|
70
|
+
# token: "YOUR_AUTH_TOKEN"
|
71
|
+
# )
|
72
|
+
# api.metadata.get_diligence_metadata(group_id: 1)
|
73
|
+
def get_diligence_metadata(group_id:, request_options: nil)
|
74
|
+
Async do
|
75
|
+
response = @request_client.conn.get do |req|
|
76
|
+
req.options.timeout = request_options.timeout_in_seconds unless request_options&.timeout_in_seconds.nil?
|
77
|
+
req.headers["Authorization"] = request_options.token unless request_options&.token.nil?
|
78
|
+
req.headers = {
|
79
|
+
**(req.headers || {}),
|
80
|
+
**@request_client.get_headers,
|
81
|
+
**(request_options&.additional_headers || {})
|
82
|
+
}.compact
|
83
|
+
unless request_options.nil? || request_options&.additional_query_parameters.nil?
|
84
|
+
req.params = { **(request_options&.additional_query_parameters || {}) }.compact
|
85
|
+
end
|
86
|
+
unless request_options.nil? || request_options&.additional_body_parameters.nil?
|
87
|
+
req.body = { **(request_options&.additional_body_parameters || {}) }.compact
|
88
|
+
end
|
89
|
+
req.url "#{@request_client.get_url(request_options: request_options)}/api/v1/group/#{group_id}/data/metadata"
|
90
|
+
end
|
91
|
+
NewDemoApiClient::AllDataMetadataResponse.from_json(json_object: response.body)
|
92
|
+
end
|
93
|
+
end
|
94
|
+
end
|
95
|
+
end
|