Skip to content

Commit e55e75e

Browse files
chore(internal): codegen related update
1 parent b049057 commit e55e75e

File tree

4 files changed

+91
-15
lines changed

4 files changed

+91
-15
lines changed

lib/brand_dev/internal/util.rb

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -490,6 +490,37 @@ def writable_enum(&blk)
490490
JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491491

492492
class << self
493+
# @api private
494+
#
495+
# @param query [Hash{Symbol=>Object}]
496+
#
497+
# @return [Hash{Symbol=>Object}]
498+
def encode_query_params(query)
499+
out = {}
500+
query.each { write_query_param_element!(out, _1, _2) }
501+
out
502+
end
503+
504+
# @api private
505+
#
506+
# @param collection [Hash{Symbol=>Object}]
507+
# @param key [String]
508+
# @param element [Object]
509+
#
510+
# @return [nil]
511+
private def write_query_param_element!(collection, key, element)
512+
case element
513+
in Hash
514+
element.each do |name, value|
515+
write_query_param_element!(collection, "#{key}[#{name}]", value)
516+
end
517+
in Array
518+
collection[key] = element.map(&:to_s).join(",")
519+
else
520+
collection[key] = element.to_s
521+
end
522+
end
523+
493524
# @api private
494525
#
495526
# @param y [Enumerator::Yielder]

lib/brand_dev/resources/brand.rb

Lines changed: 30 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,11 @@ class Brand
2626
# @see BrandDev::Models::BrandRetrieveParams
2727
def retrieve(params)
2828
parsed, options = BrandDev::BrandRetrieveParams.dump_request(params)
29+
query = BrandDev::Internal::Util.encode_query_params(parsed)
2930
@client.request(
3031
method: :get,
3132
path: "brand/retrieve",
32-
query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
33+
query: query.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
3334
model: BrandDev::Models::BrandRetrieveResponse,
3435
options: options
3536
)
@@ -149,10 +150,11 @@ def ai_query(params)
149150
# @see BrandDev::Models::BrandFontsParams
150151
def fonts(params)
151152
parsed, options = BrandDev::BrandFontsParams.dump_request(params)
153+
query = BrandDev::Internal::Util.encode_query_params(parsed)
152154
@client.request(
153155
method: :get,
154156
path: "brand/fonts",
155-
query: parsed.transform_keys(timeout_ms: "timeoutMS"),
157+
query: query.transform_keys(timeout_ms: "timeoutMS"),
156158
model: BrandDev::Models::BrandFontsResponse,
157159
options: options
158160
)
@@ -191,10 +193,11 @@ def fonts(params)
191193
# @see BrandDev::Models::BrandIdentifyFromTransactionParams
192194
def identify_from_transaction(params)
193195
parsed, options = BrandDev::BrandIdentifyFromTransactionParams.dump_request(params)
196+
query = BrandDev::Internal::Util.encode_query_params(parsed)
194197
@client.request(
195198
method: :get,
196199
path: "brand/transaction_identifier",
197-
query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
200+
query: query.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
198201
model: BrandDev::Models::BrandIdentifyFromTransactionResponse,
199202
options: options
200203
)
@@ -287,10 +290,11 @@ def prefetch_by_email(params)
287290
# @see BrandDev::Models::BrandRetrieveByEmailParams
288291
def retrieve_by_email(params)
289292
parsed, options = BrandDev::BrandRetrieveByEmailParams.dump_request(params)
293+
query = BrandDev::Internal::Util.encode_query_params(parsed)
290294
@client.request(
291295
method: :get,
292296
path: "brand/retrieve-by-email",
293-
query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
297+
query: query.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
294298
model: BrandDev::Models::BrandRetrieveByEmailResponse,
295299
options: options
296300
)
@@ -320,10 +324,11 @@ def retrieve_by_email(params)
320324
# @see BrandDev::Models::BrandRetrieveByIsinParams
321325
def retrieve_by_isin(params)
322326
parsed, options = BrandDev::BrandRetrieveByIsinParams.dump_request(params)
327+
query = BrandDev::Internal::Util.encode_query_params(parsed)
323328
@client.request(
324329
method: :get,
325330
path: "brand/retrieve-by-isin",
326-
query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
331+
query: query.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
327332
model: BrandDev::Models::BrandRetrieveByIsinResponse,
328333
options: options
329334
)
@@ -352,10 +357,11 @@ def retrieve_by_isin(params)
352357
# @see BrandDev::Models::BrandRetrieveByNameParams
353358
def retrieve_by_name(params)
354359
parsed, options = BrandDev::BrandRetrieveByNameParams.dump_request(params)
360+
query = BrandDev::Internal::Util.encode_query_params(parsed)
355361
@client.request(
356362
method: :get,
357363
path: "brand/retrieve-by-name",
358-
query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
364+
query: query.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
359365
model: BrandDev::Models::BrandRetrieveByNameResponse,
360366
options: options
361367
)
@@ -386,10 +392,11 @@ def retrieve_by_name(params)
386392
# @see BrandDev::Models::BrandRetrieveByTickerParams
387393
def retrieve_by_ticker(params)
388394
parsed, options = BrandDev::BrandRetrieveByTickerParams.dump_request(params)
395+
query = BrandDev::Internal::Util.encode_query_params(parsed)
389396
@client.request(
390397
method: :get,
391398
path: "brand/retrieve-by-ticker",
392-
query: parsed.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
399+
query: query.transform_keys(max_speed: "maxSpeed", timeout_ms: "timeoutMS"),
393400
model: BrandDev::Models::BrandRetrieveByTickerResponse,
394401
options: options
395402
)
@@ -417,10 +424,11 @@ def retrieve_by_ticker(params)
417424
# @see BrandDev::Models::BrandRetrieveNaicsParams
418425
def retrieve_naics(params)
419426
parsed, options = BrandDev::BrandRetrieveNaicsParams.dump_request(params)
427+
query = BrandDev::Internal::Util.encode_query_params(parsed)
420428
@client.request(
421429
method: :get,
422430
path: "brand/naics",
423-
query: parsed.transform_keys(
431+
query: query.transform_keys(
424432
max_results: "maxResults",
425433
min_results: "minResults",
426434
timeout_ms: "timeoutMS"
@@ -450,10 +458,11 @@ def retrieve_naics(params)
450458
# @see BrandDev::Models::BrandRetrieveSimplifiedParams
451459
def retrieve_simplified(params)
452460
parsed, options = BrandDev::BrandRetrieveSimplifiedParams.dump_request(params)
461+
query = BrandDev::Internal::Util.encode_query_params(parsed)
453462
@client.request(
454463
method: :get,
455464
path: "brand/retrieve-simplified",
456-
query: parsed.transform_keys(timeout_ms: "timeoutMS"),
465+
query: query.transform_keys(timeout_ms: "timeoutMS"),
457466
model: BrandDev::Models::BrandRetrieveSimplifiedResponse,
458467
options: options
459468
)
@@ -484,10 +493,11 @@ def retrieve_simplified(params)
484493
# @see BrandDev::Models::BrandScreenshotParams
485494
def screenshot(params)
486495
parsed, options = BrandDev::BrandScreenshotParams.dump_request(params)
496+
query = BrandDev::Internal::Util.encode_query_params(parsed)
487497
@client.request(
488498
method: :get,
489499
path: "brand/screenshot",
490-
query: parsed.transform_keys(full_screenshot: "fullScreenshot"),
500+
query: query.transform_keys(full_screenshot: "fullScreenshot"),
491501
model: BrandDev::Models::BrandScreenshotResponse,
492502
options: options
493503
)
@@ -518,10 +528,11 @@ def screenshot(params)
518528
# @see BrandDev::Models::BrandStyleguideParams
519529
def styleguide(params = {})
520530
parsed, options = BrandDev::BrandStyleguideParams.dump_request(params)
531+
query = BrandDev::Internal::Util.encode_query_params(parsed)
521532
@client.request(
522533
method: :get,
523534
path: "brand/styleguide",
524-
query: parsed.transform_keys(direct_url: "directUrl", timeout_ms: "timeoutMS"),
535+
query: query.transform_keys(direct_url: "directUrl", timeout_ms: "timeoutMS"),
525536
model: BrandDev::Models::BrandStyleguideResponse,
526537
options: options
527538
)
@@ -541,10 +552,11 @@ def styleguide(params = {})
541552
# @see BrandDev::Models::BrandWebScrapeHTMLParams
542553
def web_scrape_html(params)
543554
parsed, options = BrandDev::BrandWebScrapeHTMLParams.dump_request(params)
555+
query = BrandDev::Internal::Util.encode_query_params(parsed)
544556
@client.request(
545557
method: :get,
546558
path: "web/scrape/html",
547-
query: parsed,
559+
query: query,
548560
model: BrandDev::Models::BrandWebScrapeHTMLResponse,
549561
options: options
550562
)
@@ -565,10 +577,11 @@ def web_scrape_html(params)
565577
# @see BrandDev::Models::BrandWebScrapeImagesParams
566578
def web_scrape_images(params)
567579
parsed, options = BrandDev::BrandWebScrapeImagesParams.dump_request(params)
580+
query = BrandDev::Internal::Util.encode_query_params(parsed)
568581
@client.request(
569582
method: :get,
570583
path: "web/scrape/images",
571-
query: parsed,
584+
query: query,
572585
model: BrandDev::Models::BrandWebScrapeImagesResponse,
573586
options: options
574587
)
@@ -598,10 +611,11 @@ def web_scrape_images(params)
598611
# @see BrandDev::Models::BrandWebScrapeMdParams
599612
def web_scrape_md(params)
600613
parsed, options = BrandDev::BrandWebScrapeMdParams.dump_request(params)
614+
query = BrandDev::Internal::Util.encode_query_params(parsed)
601615
@client.request(
602616
method: :get,
603617
path: "web/scrape/markdown",
604-
query: parsed.transform_keys(
618+
query: query.transform_keys(
605619
include_images: "includeImages",
606620
include_links: "includeLinks",
607621
shorten_base64_images: "shortenBase64Images"
@@ -629,10 +643,11 @@ def web_scrape_md(params)
629643
# @see BrandDev::Models::BrandWebScrapeSitemapParams
630644
def web_scrape_sitemap(params)
631645
parsed, options = BrandDev::BrandWebScrapeSitemapParams.dump_request(params)
646+
query = BrandDev::Internal::Util.encode_query_params(parsed)
632647
@client.request(
633648
method: :get,
634649
path: "web/scrape/sitemap",
635-
query: parsed,
650+
query: query,
636651
model: BrandDev::Models::BrandWebScrapeSitemapResponse,
637652
options: options
638653
)

rbi/brand_dev/internal/util.rbi

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -301,6 +301,26 @@ module BrandDev
301301
T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
302302

303303
class << self
304+
# @api private
305+
sig do
306+
params(query: BrandDev::Internal::AnyHash).returns(
307+
BrandDev::Internal::AnyHash
308+
)
309+
end
310+
def encode_query_params(query)
311+
end
312+
313+
# @api private
314+
sig do
315+
params(
316+
collection: BrandDev::Internal::AnyHash,
317+
key: String,
318+
element: T.anything
319+
).void
320+
end
321+
private def write_query_param_element!(collection, key, element)
322+
end
323+
304324
# @api private
305325
sig do
306326
params(

sig/brand_dev/internal/util.rbs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,16 @@ module BrandDev
106106
JSON_CONTENT: Regexp
107107
JSONL_CONTENT: Regexp
108108

109+
def encode_query_params: (
110+
::Hash[Symbol, top] query
111+
) -> ::Hash[Symbol, top]
112+
113+
private def write_query_param_element!: (
114+
::Hash[Symbol, top] collection,
115+
String key,
116+
top element
117+
) -> nil
118+
109119
def self?.write_multipart_content: (
110120
Enumerator::Yielder y,
111121
val: top,

0 commit comments

Comments
 (0)