brand.dev 0.11.0 → 0.12.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.
@@ -47,6 +47,8 @@ module BrandDev
47
47
 
48
48
  BrandRetrieveByEmailParams = BrandDev::Models::BrandRetrieveByEmailParams
49
49
 
50
+ BrandRetrieveByIsinParams = BrandDev::Models::BrandRetrieveByIsinParams
51
+
50
52
  BrandRetrieveByNameParams = BrandDev::Models::BrandRetrieveByNameParams
51
53
 
52
54
  BrandRetrieveByTickerParams = BrandDev::Models::BrandRetrieveByTickerParams
@@ -164,6 +164,39 @@ module BrandDev
164
164
  )
165
165
  end
166
166
 
167
+ # Some parameter documentations has been truncated, see
168
+ # {BrandDev::Models::BrandRetrieveByIsinParams} for more details.
169
+ #
170
+ # Retrieve brand information using an ISIN (International Securities
171
+ # Identification Number). This endpoint looks up the company associated with the
172
+ # ISIN and returns its brand data.
173
+ #
174
+ # @overload retrieve_by_isin(isin:, force_language: nil, max_speed: nil, timeout_ms: nil, request_options: {})
175
+ #
176
+ # @param isin [String] ISIN (International Securities Identification Number) to retrieve brand data for
177
+ #
178
+ # @param force_language [Symbol, BrandDev::Models::BrandRetrieveByIsinParams::ForceLanguage] Optional parameter to force the language of the retrieved brand data.
179
+ #
180
+ # @param max_speed [Boolean] Optional parameter to optimize the API call for maximum speed. When set to true,
181
+ #
182
+ # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
183
+ #
184
+ # @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}, nil]
185
+ #
186
+ # @return [BrandDev::Models::BrandRetrieveByIsinResponse]
187
+ #
188
+ # @see BrandDev::Models::BrandRetrieveByIsinParams
189
+ def retrieve_by_isin(params)
190
+ parsed, options = BrandDev::BrandRetrieveByIsinParams.dump_request(params)
191
+ @client.request(
192
+ method: :get,
193
+ path: "brand/retrieve-by-isin",
194
+ query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
195
+ model: BrandDev::Models::BrandRetrieveByIsinResponse,
196
+ options: options
197
+ )
198
+ end
199
+
167
200
  # Some parameter documentations has been truncated, see
168
201
  # {BrandDev::Models::BrandRetrieveByNameParams} for more details.
169
202
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BrandDev
4
- VERSION = "0.11.0"
4
+ VERSION = "0.12.0"
5
5
  end
data/lib/brand_dev.rb CHANGED
@@ -9,6 +9,7 @@ require "erb"
9
9
  require "etc"
10
10
  require "json"
11
11
  require "net/http"
12
+ require "openssl"
12
13
  require "pathname"
13
14
  require "rbconfig"
14
15
  require "securerandom"
@@ -58,6 +59,8 @@ require_relative "brand_dev/models/brand_prefetch_params"
58
59
  require_relative "brand_dev/models/brand_prefetch_response"
59
60
  require_relative "brand_dev/models/brand_retrieve_by_email_params"
60
61
  require_relative "brand_dev/models/brand_retrieve_by_email_response"
62
+ require_relative "brand_dev/models/brand_retrieve_by_isin_params"
63
+ require_relative "brand_dev/models/brand_retrieve_by_isin_response"
61
64
  require_relative "brand_dev/models/brand_retrieve_by_name_params"
62
65
  require_relative "brand_dev/models/brand_retrieve_by_name_response"
63
66
  require_relative "brand_dev/models/brand_retrieve_by_ticker_params"
data/manifest.yaml CHANGED
@@ -6,6 +6,7 @@ dependencies:
6
6
  - etc
7
7
  - json
8
8
  - net/http
9
+ - openssl
9
10
  - pathname
10
11
  - rbconfig
11
12
  - securerandom
@@ -176,6 +176,11 @@ module BrandDev
176
176
  private def auth_headers
177
177
  end
178
178
 
179
+ # @api private
180
+ sig { returns(String) }
181
+ private def user_agent
182
+ end
183
+
179
184
  # @api private
180
185
  sig { returns(String) }
181
186
  private def generate_idempotency_key
@@ -26,8 +26,12 @@ module BrandDev
26
26
 
27
27
  class << self
28
28
  # @api private
29
- sig { params(url: URI::Generic).returns(Net::HTTP) }
30
- def connect(url)
29
+ sig do
30
+ params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
31
+ Net::HTTP
32
+ )
33
+ end
34
+ def connect(cert_store:, url:)
31
35
  end
32
36
 
33
37
  # @api private
@@ -31,7 +31,7 @@ module BrandDev
31
31
  #
32
32
  # Assumes superclass fields are totally defined before fields are accessed /
33
33
  # defined on subclasses.
34
- sig { params(child: T.self_type).void }
34
+ sig { params(child: BrandDev::Internal::Type::BaseModel).void }
35
35
  def inherited(child)
36
36
  end
37
37
 
@@ -274,9 +274,13 @@ module BrandDev
274
274
 
275
275
  # Create a new instance of a model.
276
276
  sig do
277
- params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
278
- T.attached_class
279
- )
277
+ params(
278
+ data:
279
+ T.any(
280
+ T::Hash[Symbol, T.anything],
281
+ BrandDev::Internal::Type::BaseModel
282
+ )
283
+ ).returns(T.attached_class)
280
284
  end
281
285
  def self.new(data = {})
282
286
  end
@@ -0,0 +1,386 @@
1
+ # typed: strong
2
+
3
+ module BrandDev
4
+ module Models
5
+ class BrandRetrieveByIsinParams < BrandDev::Internal::Type::BaseModel
6
+ extend BrandDev::Internal::Type::RequestParameters::Converter
7
+ include BrandDev::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ BrandDev::BrandRetrieveByIsinParams,
13
+ BrandDev::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # ISIN (International Securities Identification Number) to retrieve brand data for
18
+ # (e.g., 'AU000000IMD5', 'US0378331005'). Must be exactly 12 characters: 2 letters
19
+ # followed by 9 alphanumeric characters and ending with a digit.
20
+ sig { returns(String) }
21
+ attr_accessor :isin
22
+
23
+ # Optional parameter to force the language of the retrieved brand data.
24
+ sig do
25
+ returns(
26
+ T.nilable(
27
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::OrSymbol
28
+ )
29
+ )
30
+ end
31
+ attr_reader :force_language
32
+
33
+ sig do
34
+ params(
35
+ force_language:
36
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::OrSymbol
37
+ ).void
38
+ end
39
+ attr_writer :force_language
40
+
41
+ # Optional parameter to optimize the API call for maximum speed. When set to true,
42
+ # the API will skip time-consuming operations for faster response at the cost of
43
+ # less comprehensive data.
44
+ sig { returns(T.nilable(T::Boolean)) }
45
+ attr_reader :max_speed
46
+
47
+ sig { params(max_speed: T::Boolean).void }
48
+ attr_writer :max_speed
49
+
50
+ # Optional timeout in milliseconds for the request. If the request takes longer
51
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
52
+ # value is 300000ms (5 minutes).
53
+ sig { returns(T.nilable(Integer)) }
54
+ attr_reader :timeout_ms
55
+
56
+ sig { params(timeout_ms: Integer).void }
57
+ attr_writer :timeout_ms
58
+
59
+ sig do
60
+ params(
61
+ isin: String,
62
+ force_language:
63
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::OrSymbol,
64
+ max_speed: T::Boolean,
65
+ timeout_ms: Integer,
66
+ request_options: BrandDev::RequestOptions::OrHash
67
+ ).returns(T.attached_class)
68
+ end
69
+ def self.new(
70
+ # ISIN (International Securities Identification Number) to retrieve brand data for
71
+ # (e.g., 'AU000000IMD5', 'US0378331005'). Must be exactly 12 characters: 2 letters
72
+ # followed by 9 alphanumeric characters and ending with a digit.
73
+ isin:,
74
+ # Optional parameter to force the language of the retrieved brand data.
75
+ force_language: nil,
76
+ # Optional parameter to optimize the API call for maximum speed. When set to true,
77
+ # the API will skip time-consuming operations for faster response at the cost of
78
+ # less comprehensive data.
79
+ max_speed: nil,
80
+ # Optional timeout in milliseconds for the request. If the request takes longer
81
+ # than this value, it will be aborted with a 408 status code. Maximum allowed
82
+ # value is 300000ms (5 minutes).
83
+ timeout_ms: nil,
84
+ request_options: {}
85
+ )
86
+ end
87
+
88
+ sig do
89
+ override.returns(
90
+ {
91
+ isin: String,
92
+ force_language:
93
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::OrSymbol,
94
+ max_speed: T::Boolean,
95
+ timeout_ms: Integer,
96
+ request_options: BrandDev::RequestOptions
97
+ }
98
+ )
99
+ end
100
+ def to_hash
101
+ end
102
+
103
+ # Optional parameter to force the language of the retrieved brand data.
104
+ module ForceLanguage
105
+ extend BrandDev::Internal::Type::Enum
106
+
107
+ TaggedSymbol =
108
+ T.type_alias do
109
+ T.all(Symbol, BrandDev::BrandRetrieveByIsinParams::ForceLanguage)
110
+ end
111
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
112
+
113
+ ALBANIAN =
114
+ T.let(
115
+ :albanian,
116
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
117
+ )
118
+ ARABIC =
119
+ T.let(
120
+ :arabic,
121
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
122
+ )
123
+ AZERI =
124
+ T.let(
125
+ :azeri,
126
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
127
+ )
128
+ BENGALI =
129
+ T.let(
130
+ :bengali,
131
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
132
+ )
133
+ BULGARIAN =
134
+ T.let(
135
+ :bulgarian,
136
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
137
+ )
138
+ CEBUANO =
139
+ T.let(
140
+ :cebuano,
141
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
142
+ )
143
+ CROATIAN =
144
+ T.let(
145
+ :croatian,
146
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
147
+ )
148
+ CZECH =
149
+ T.let(
150
+ :czech,
151
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
152
+ )
153
+ DANISH =
154
+ T.let(
155
+ :danish,
156
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
157
+ )
158
+ DUTCH =
159
+ T.let(
160
+ :dutch,
161
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
162
+ )
163
+ ENGLISH =
164
+ T.let(
165
+ :english,
166
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
167
+ )
168
+ ESTONIAN =
169
+ T.let(
170
+ :estonian,
171
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
172
+ )
173
+ FARSI =
174
+ T.let(
175
+ :farsi,
176
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
177
+ )
178
+ FINNISH =
179
+ T.let(
180
+ :finnish,
181
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
182
+ )
183
+ FRENCH =
184
+ T.let(
185
+ :french,
186
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
187
+ )
188
+ GERMAN =
189
+ T.let(
190
+ :german,
191
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
192
+ )
193
+ HAUSA =
194
+ T.let(
195
+ :hausa,
196
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
197
+ )
198
+ HAWAIIAN =
199
+ T.let(
200
+ :hawaiian,
201
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
202
+ )
203
+ HINDI =
204
+ T.let(
205
+ :hindi,
206
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
207
+ )
208
+ HUNGARIAN =
209
+ T.let(
210
+ :hungarian,
211
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
212
+ )
213
+ ICELANDIC =
214
+ T.let(
215
+ :icelandic,
216
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
217
+ )
218
+ INDONESIAN =
219
+ T.let(
220
+ :indonesian,
221
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
222
+ )
223
+ ITALIAN =
224
+ T.let(
225
+ :italian,
226
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
227
+ )
228
+ KAZAKH =
229
+ T.let(
230
+ :kazakh,
231
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
232
+ )
233
+ KYRGYZ =
234
+ T.let(
235
+ :kyrgyz,
236
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
237
+ )
238
+ LATIN =
239
+ T.let(
240
+ :latin,
241
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
242
+ )
243
+ LATVIAN =
244
+ T.let(
245
+ :latvian,
246
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
247
+ )
248
+ LITHUANIAN =
249
+ T.let(
250
+ :lithuanian,
251
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
252
+ )
253
+ MACEDONIAN =
254
+ T.let(
255
+ :macedonian,
256
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
257
+ )
258
+ MONGOLIAN =
259
+ T.let(
260
+ :mongolian,
261
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
262
+ )
263
+ NEPALI =
264
+ T.let(
265
+ :nepali,
266
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
267
+ )
268
+ NORWEGIAN =
269
+ T.let(
270
+ :norwegian,
271
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
272
+ )
273
+ PASHTO =
274
+ T.let(
275
+ :pashto,
276
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
277
+ )
278
+ PIDGIN =
279
+ T.let(
280
+ :pidgin,
281
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
282
+ )
283
+ POLISH =
284
+ T.let(
285
+ :polish,
286
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
287
+ )
288
+ PORTUGUESE =
289
+ T.let(
290
+ :portuguese,
291
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
292
+ )
293
+ ROMANIAN =
294
+ T.let(
295
+ :romanian,
296
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
297
+ )
298
+ RUSSIAN =
299
+ T.let(
300
+ :russian,
301
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
302
+ )
303
+ SERBIAN =
304
+ T.let(
305
+ :serbian,
306
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
307
+ )
308
+ SLOVAK =
309
+ T.let(
310
+ :slovak,
311
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
312
+ )
313
+ SLOVENE =
314
+ T.let(
315
+ :slovene,
316
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
317
+ )
318
+ SOMALI =
319
+ T.let(
320
+ :somali,
321
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
322
+ )
323
+ SPANISH =
324
+ T.let(
325
+ :spanish,
326
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
327
+ )
328
+ SWAHILI =
329
+ T.let(
330
+ :swahili,
331
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
332
+ )
333
+ SWEDISH =
334
+ T.let(
335
+ :swedish,
336
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
337
+ )
338
+ TAGALOG =
339
+ T.let(
340
+ :tagalog,
341
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
342
+ )
343
+ TURKISH =
344
+ T.let(
345
+ :turkish,
346
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
347
+ )
348
+ UKRAINIAN =
349
+ T.let(
350
+ :ukrainian,
351
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
352
+ )
353
+ URDU =
354
+ T.let(
355
+ :urdu,
356
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
357
+ )
358
+ UZBEK =
359
+ T.let(
360
+ :uzbek,
361
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
362
+ )
363
+ VIETNAMESE =
364
+ T.let(
365
+ :vietnamese,
366
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
367
+ )
368
+ WELSH =
369
+ T.let(
370
+ :welsh,
371
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
372
+ )
373
+
374
+ sig do
375
+ override.returns(
376
+ T::Array[
377
+ BrandDev::BrandRetrieveByIsinParams::ForceLanguage::TaggedSymbol
378
+ ]
379
+ )
380
+ end
381
+ def self.values
382
+ end
383
+ end
384
+ end
385
+ end
386
+ end