brand.dev 0.2.0 → 0.3.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.
Files changed (39) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/brand_dev/internal/transport/base_client.rb +1 -1
  5. data/lib/brand_dev/internal/type/array_of.rb +1 -0
  6. data/lib/brand_dev/internal/type/base_model.rb +3 -1
  7. data/lib/brand_dev/internal/type/converter.rb +27 -0
  8. data/lib/brand_dev/internal/type/hash_of.rb +1 -0
  9. data/lib/brand_dev/internal/type/union.rb +9 -7
  10. data/lib/brand_dev/models/brand_identify_from_transaction_response.rb +311 -1
  11. data/lib/brand_dev/models/brand_retrieve_params.rb +32 -9
  12. data/lib/brand_dev/models/brand_retrieve_response.rb +310 -1
  13. data/lib/brand_dev/models.rb +0 -2
  14. data/lib/brand_dev/resources/brand.rb +10 -32
  15. data/lib/brand_dev/version.rb +1 -1
  16. data/lib/brand_dev.rb +0 -2
  17. data/rbi/brand_dev/internal/transport/base_client.rbi +1 -1
  18. data/rbi/brand_dev/internal/type/converter.rbi +54 -0
  19. data/rbi/brand_dev/internal/type/union.rbi +9 -2
  20. data/rbi/brand_dev/models/brand_identify_from_transaction_response.rbi +1409 -0
  21. data/rbi/brand_dev/models/brand_retrieve_params.rbi +48 -10
  22. data/rbi/brand_dev/models/brand_retrieve_response.rbi +1409 -0
  23. data/rbi/brand_dev/models.rbi +0 -2
  24. data/rbi/brand_dev/resources/brand.rbi +18 -24
  25. data/sig/brand_dev/internal/transport/base_client.rbs +1 -1
  26. data/sig/brand_dev/internal/type/converter.rbs +17 -0
  27. data/sig/brand_dev/internal/type/union.rbs +2 -2
  28. data/sig/brand_dev/models/brand_identify_from_transaction_response.rbs +558 -0
  29. data/sig/brand_dev/models/brand_retrieve_params.rbs +18 -2
  30. data/sig/brand_dev/models/brand_retrieve_response.rbs +558 -0
  31. data/sig/brand_dev/models.rbs +0 -2
  32. data/sig/brand_dev/resources/brand.rbs +3 -7
  33. metadata +2 -8
  34. data/lib/brand_dev/models/brand_retrieve_by_ticker_params.rb +0 -35
  35. data/lib/brand_dev/models/brand_retrieve_by_ticker_response.rb +0 -478
  36. data/rbi/brand_dev/models/brand_retrieve_by_ticker_params.rbi +0 -61
  37. data/rbi/brand_dev/models/brand_retrieve_by_ticker_response.rbi +0 -1081
  38. data/sig/brand_dev/models/brand_retrieve_by_ticker_params.rbs +0 -30
  39. data/sig/brand_dev/models/brand_retrieve_by_ticker_response.rbs +0 -467
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: df28fd5aa0d8231a27a6b3c155f9000846e642c65fc753f1774bd6c0e58a014b
4
- data.tar.gz: a55600ebc91b03e85320b577705bbd1e5ad3edd60ed6b7b2dbfb5cb1af9089bd
3
+ metadata.gz: 23c048d37c43f960cb83f4cb6e0279bb2d679d73c25f8f595a9a29a4518350f8
4
+ data.tar.gz: 79a03cd2a28ad67717d209e0c2282b6ca14179f0bcfbfd7db20855dd4500ff83
5
5
  SHA512:
6
- metadata.gz: 5d6cdee2fb3161e12e02d0645fbf71508664827af349b769d2f148db5f53df609b135fc556303160711ca287655fbe646aed2826495663d0df3173cb0baea1f4
7
- data.tar.gz: 5b6f254d84d2d883ba3c07fe4f86768f10e7fb82651f9f587fe4eb21a81313b98790358ab120275240152c186be0d42568bc106682d0acfab95766b669bdabdb
6
+ metadata.gz: a960e3351767fa3af608912074a893fcf5b66ceac4f43563cd1838764861a67bc89779aeb085f913ffbceec93e3d22e9ec583cd0cb35b3407f742470670afe95
7
+ data.tar.gz: 59823343664acd13660bc099e3077d8f171280961ad58cbcdb3147587ee0626c7a3083f65aedf5d2d494b8854b34df47c14c331fb1c8d6f7b402714e6df474cd
data/CHANGELOG.md CHANGED
@@ -1,5 +1,31 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2025-08-19)
4
+
5
+ Full Changelog: [v0.2.1...v0.3.0](https://github.com/brand-dot-dev/ruby-sdk/compare/v0.2.1...v0.3.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([300cd20](https://github.com/brand-dot-dev/ruby-sdk/commit/300cd20109a1cfb9a20d6f084fd663a4f460b9a1))
10
+ * **api:** api update ([63abe64](https://github.com/brand-dot-dev/ruby-sdk/commit/63abe64a9fb4f188a7667e25a135c7cd16867c10))
11
+ * **api:** api update ([221ec47](https://github.com/brand-dot-dev/ruby-sdk/commit/221ec47349dc4c937bd32e92e8ecd1d7d8bd9321))
12
+
13
+
14
+ ### Chores
15
+
16
+ * collect metadata from type DSL ([1c0ddc6](https://github.com/brand-dot-dev/ruby-sdk/commit/1c0ddc66bcacc3fedc7044759dc99bb6d374d71e))
17
+ * **internal:** codegen related update ([f544144](https://github.com/brand-dot-dev/ruby-sdk/commit/f544144eee9d1c3bc1e879a80a9913f51c83f010))
18
+ * **internal:** update comment in script ([1c17fb4](https://github.com/brand-dot-dev/ruby-sdk/commit/1c17fb44ee56f6f8b797f68806cd5dfbeaf66b17))
19
+ * update @stainless-api/prism-cli to v5.15.0 ([42f525c](https://github.com/brand-dot-dev/ruby-sdk/commit/42f525cbd0b0d4418d8cd553b05688a03c06a3ec))
20
+
21
+ ## 0.2.1 (2025-08-01)
22
+
23
+ Full Changelog: [v0.2.0...v0.2.1](https://github.com/brand-dot-dev/ruby-sdk/compare/v0.2.0...v0.2.1)
24
+
25
+ ### Chores
26
+
27
+ * **internal:** increase visibility of internal helper method ([cfabb97](https://github.com/brand-dot-dev/ruby-sdk/commit/cfabb971de6365cbc73952eb438d4d9ecfb5407c))
28
+
3
29
  ## 0.2.0 (2025-07-31)
4
30
 
5
31
  Full Changelog: [v0.1.0...v0.2.0](https://github.com/brand-dot-dev/ruby-sdk/compare/v0.1.0...v0.2.0)
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "brand.dev", "~> 0.2.0"
18
+ gem "brand.dev", "~> 0.3.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -365,7 +365,7 @@ module BrandDev
365
365
  #
366
366
  # @raise [BrandDev::Errors::APIError]
367
367
  # @return [Array(Integer, Net::HTTPResponse, Enumerable<String>)]
368
- private def send_request(request, redirect_count:, retry_count:, send_retry_header:)
368
+ def send_request(request, redirect_count:, retry_count:, send_retry_header:)
369
369
  url, headers, max_retries, timeout = request.fetch_values(:url, :headers, :max_retries, :timeout)
370
370
  input = {**request.except(:timeout), deadline: BrandDev::Internal::Util.monotonic_secs + timeout}
371
371
 
@@ -148,6 +148,7 @@ module BrandDev
148
148
  # @option spec [Boolean] :"nil?"
149
149
  def initialize(type_info, spec = {})
150
150
  @item_type_fn = BrandDev::Internal::Type::Converter.type_info(type_info || spec)
151
+ @meta = BrandDev::Internal::Type::Converter.meta_info(type_info, spec)
151
152
  @nilable = spec.fetch(:nil?, false)
152
153
  end
153
154
 
@@ -52,6 +52,7 @@ module BrandDev
52
52
  #
53
53
  # @option spec [Boolean] :"nil?"
54
54
  private def add_field(name_sym, required:, type_info:, spec:)
55
+ meta = BrandDev::Internal::Type::Converter.meta_info(type_info, spec)
55
56
  type_fn, info =
56
57
  case type_info
57
58
  in Proc | BrandDev::Internal::Type::Converter | Class
@@ -81,7 +82,8 @@ module BrandDev
81
82
  required: required,
82
83
  nilable: nilable,
83
84
  const: const,
84
- type_fn: type_fn
85
+ type_fn: type_fn,
86
+ meta: meta
85
87
  }
86
88
 
87
89
  define_method(setter) do |value|
@@ -98,6 +98,33 @@ module BrandDev
98
98
  end
99
99
  end
100
100
 
101
+ # @api private
102
+ #
103
+ # @param type_info [Hash{Symbol=>Object}, Proc, BrandDev::Internal::Type::Converter, Class] .
104
+ #
105
+ # @option type_info [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
106
+ #
107
+ # @option type_info [Proc] :enum
108
+ #
109
+ # @option type_info [Proc] :union
110
+ #
111
+ # @option type_info [Boolean] :"nil?"
112
+ #
113
+ # @param spec [Hash{Symbol=>Object}, Proc, BrandDev::Internal::Type::Converter, Class] .
114
+ #
115
+ # @option spec [NilClass, TrueClass, FalseClass, Integer, Float, Symbol] :const
116
+ #
117
+ # @option spec [Proc] :enum
118
+ #
119
+ # @option spec [Proc] :union
120
+ #
121
+ # @option spec [Boolean] :"nil?"
122
+ #
123
+ # @return [Hash{Symbol=>Object}]
124
+ def meta_info(type_info, spec)
125
+ [spec, type_info].grep(Hash).first.to_h.except(:const, :enum, :union, :nil?)
126
+ end
127
+
101
128
  # @api private
102
129
  #
103
130
  # @param translate_names [Boolean]
@@ -168,6 +168,7 @@ module BrandDev
168
168
  # @option spec [Boolean] :"nil?"
169
169
  def initialize(type_info, spec = {})
170
170
  @item_type_fn = BrandDev::Internal::Type::Converter.type_info(type_info || spec)
171
+ @meta = BrandDev::Internal::Type::Converter.meta_info(type_info, spec)
171
172
  @nilable = spec.fetch(:nil?, false)
172
173
  end
173
174
 
@@ -12,20 +12,20 @@ module BrandDev
12
12
  #
13
13
  # All of the specified variant info for this union.
14
14
  #
15
- # @return [Array<Array(Symbol, Proc)>]
15
+ # @return [Array<Array(Symbol, Proc, Hash{Symbol=>Object})>]
16
16
  private def known_variants = (@known_variants ||= [])
17
17
 
18
18
  # @api private
19
19
  #
20
- # @return [Array<Array(Symbol, Object)>]
20
+ # @return [Array<Array(Symbol, Object, Hash{Symbol=>Object})>]
21
21
  protected def derefed_variants
22
- known_variants.map { |key, variant_fn| [key, variant_fn.call] }
22
+ known_variants.map { |key, variant_fn, meta| [key, variant_fn.call, meta] }
23
23
  end
24
24
 
25
25
  # All of the specified variants for this union.
26
26
  #
27
27
  # @return [Array<Object>]
28
- def variants = derefed_variants.map(&:last)
28
+ def variants = derefed_variants.map { _2 }
29
29
 
30
30
  # @api private
31
31
  #
@@ -51,12 +51,13 @@ module BrandDev
51
51
  #
52
52
  # @option spec [Boolean] :"nil?"
53
53
  private def variant(key, spec = nil)
54
+ meta = BrandDev::Internal::Type::Converter.meta_info(nil, spec)
54
55
  variant_info =
55
56
  case key
56
57
  in Symbol
57
- [key, BrandDev::Internal::Type::Converter.type_info(spec)]
58
+ [key, BrandDev::Internal::Type::Converter.type_info(spec), meta]
58
59
  in Proc | BrandDev::Internal::Type::Converter | Class | Hash
59
- [nil, BrandDev::Internal::Type::Converter.type_info(key)]
60
+ [nil, BrandDev::Internal::Type::Converter.type_info(key), meta]
60
61
  end
61
62
 
62
63
  known_variants << variant_info
@@ -79,7 +80,8 @@ module BrandDev
79
80
  return nil if key == BrandDev::Internal::OMIT
80
81
 
81
82
  key = key.to_sym if key.is_a?(String)
82
- known_variants.find { |k,| k == key }&.last&.call
83
+ _, found = known_variants.find { |k,| k == key }
84
+ found&.call
83
85
  else
84
86
  nil
85
87
  end
@@ -69,6 +69,12 @@ module BrandDev
69
69
  # @return [String, nil]
70
70
  optional :email, String
71
71
 
72
+ # @!attribute industries
73
+ # Industry classification information for the brand
74
+ #
75
+ # @return [BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries, nil]
76
+ optional :industries, -> { BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries }
77
+
72
78
  # @!attribute is_nsfw
73
79
  # Indicates whether the brand content is not safe for work (NSFW)
74
80
  #
@@ -114,7 +120,7 @@ module BrandDev
114
120
  # @return [String, nil]
115
121
  optional :title, String
116
122
 
117
- # @!method initialize(address: nil, backdrops: nil, colors: nil, description: nil, domain: nil, email: nil, is_nsfw: nil, logos: nil, phone: nil, slogan: nil, socials: nil, stock: nil, title: nil)
123
+ # @!method initialize(address: nil, backdrops: nil, colors: nil, description: nil, domain: nil, email: nil, industries: nil, is_nsfw: nil, logos: nil, phone: nil, slogan: nil, socials: nil, stock: nil, title: nil)
118
124
  # Some parameter documentations has been truncated, see
119
125
  # {BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand} for more
120
126
  # details.
@@ -133,6 +139,8 @@ module BrandDev
133
139
  #
134
140
  # @param email [String] Company email address
135
141
  #
142
+ # @param industries [BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries] Industry classification information for the brand
143
+ #
136
144
  # @param is_nsfw [Boolean] Indicates whether the brand content is not safe for work (NSFW)
137
145
  #
138
146
  # @param logos [Array<BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Logo>] An array of logos associated with the brand
@@ -306,6 +314,308 @@ module BrandDev
306
314
  # @param name [String] Name of the color
307
315
  end
308
316
 
317
+ # @see BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand#industries
318
+ class Industries < BrandDev::Internal::Type::BaseModel
319
+ # @!attribute eic
320
+ # Easy Industry Classification - array of industry and subindustry pairs
321
+ #
322
+ # @return [Array<BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic>, nil]
323
+ optional :eic,
324
+ -> { BrandDev::Internal::Type::ArrayOf[BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic] }
325
+
326
+ # @!method initialize(eic: nil)
327
+ # Industry classification information for the brand
328
+ #
329
+ # @param eic [Array<BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic>] Easy Industry Classification - array of industry and subindustry pairs
330
+
331
+ class Eic < BrandDev::Internal::Type::BaseModel
332
+ # @!attribute industry
333
+ # Industry classification enum
334
+ #
335
+ # @return [Symbol, BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic::Industry]
336
+ required :industry,
337
+ enum: -> { BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic::Industry }
338
+
339
+ # @!attribute subindustry
340
+ # Subindustry classification enum
341
+ #
342
+ # @return [Symbol, BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic::Subindustry]
343
+ required :subindustry,
344
+ enum: -> { BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic::Subindustry }
345
+
346
+ # @!method initialize(industry:, subindustry:)
347
+ # @param industry [Symbol, BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic::Industry] Industry classification enum
348
+ #
349
+ # @param subindustry [Symbol, BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic::Subindustry] Subindustry classification enum
350
+
351
+ # Industry classification enum
352
+ #
353
+ # @see BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic#industry
354
+ module Industry
355
+ extend BrandDev::Internal::Type::Enum
356
+
357
+ AEROSPACE_DEFENSE = :"Aerospace & Defense"
358
+ TECHNOLOGY = :Technology
359
+ FINANCE = :Finance
360
+ HEALTHCARE = :Healthcare
361
+ RETAIL_E_COMMERCE = :"Retail & E-commerce"
362
+ ENTERTAINMENT = :Entertainment
363
+ EDUCATION = :Education
364
+ GOVERNMENT_NONPROFIT = :"Government & Nonprofit"
365
+ INDUSTRIAL_ENERGY = :"Industrial & Energy"
366
+ AUTOMOTIVE_TRANSPORTATION = :"Automotive & Transportation"
367
+ LIFESTYLE_LEISURE = :"Lifestyle & Leisure"
368
+ LUXURY_FASHION = :"Luxury & Fashion"
369
+ NEWS_MEDIA = :"News & Media"
370
+ SPORTS = :Sports
371
+ REAL_ESTATE_PROP_TECH = :"Real Estate & PropTech"
372
+ LEGAL_COMPLIANCE = :"Legal & Compliance"
373
+ TELECOMMUNICATIONS = :Telecommunications
374
+ AGRICULTURE_FOOD = :"Agriculture & Food"
375
+ PROFESSIONAL_SERVICES_AGENCIES = :"Professional Services & Agencies"
376
+ CHEMICALS_MATERIALS = :"Chemicals & Materials"
377
+ LOGISTICS_SUPPLY_CHAIN = :"Logistics & Supply Chain"
378
+ HOSPITALITY_TOURISM = :"Hospitality & Tourism"
379
+ CONSTRUCTION_BUILT_ENVIRONMENT = :"Construction & Built Environment"
380
+ CONSUMER_PACKAGED_GOODS_CPG = :"Consumer Packaged Goods (CPG)"
381
+
382
+ # @!method self.values
383
+ # @return [Array<Symbol>]
384
+ end
385
+
386
+ # Subindustry classification enum
387
+ #
388
+ # @see BrandDev::Models::BrandIdentifyFromTransactionResponse::Brand::Industries::Eic#subindustry
389
+ module Subindustry
390
+ extend BrandDev::Internal::Type::Enum
391
+
392
+ DEFENSE_SYSTEMS_MILITARY_HARDWARE = :"Defense Systems & Military Hardware"
393
+ AEROSPACE_MANUFACTURING = :"Aerospace Manufacturing"
394
+ AVIONICS_NAVIGATION_TECHNOLOGY = :"Avionics & Navigation Technology"
395
+ SUBSEA_NAVAL_DEFENSE_SYSTEMS = :"Subsea & Naval Defense Systems"
396
+ SPACE_SATELLITE_TECHNOLOGY = :"Space & Satellite Technology"
397
+ DEFENSE_IT_SYSTEMS_INTEGRATION = :"Defense IT & Systems Integration"
398
+ SOFTWARE_B2_B = :"Software (B2B)"
399
+ SOFTWARE_B2_C = :"Software (B2C)"
400
+ CLOUD_INFRASTRUCTURE_DEV_OPS = :"Cloud Infrastructure & DevOps"
401
+ CYBERSECURITY = :Cybersecurity
402
+ ARTIFICIAL_INTELLIGENCE_MACHINE_LEARNING = :"Artificial Intelligence & Machine Learning"
403
+ DATA_INFRASTRUCTURE_ANALYTICS = :"Data Infrastructure & Analytics"
404
+ HARDWARE_SEMICONDUCTORS = :"Hardware & Semiconductors"
405
+ FINTECH_INFRASTRUCTURE = :"Fintech Infrastructure"
406
+ E_COMMERCE_MARKETPLACE_PLATFORMS = :"eCommerce & Marketplace Platforms"
407
+ DEVELOPER_TOOLS_APIS = :"Developer Tools & APIs"
408
+ WEB3_BLOCKCHAIN = :"Web3 & Blockchain"
409
+ XR_SPATIAL_COMPUTING = :"XR & Spatial Computing"
410
+ BANKING_LENDING = :"Banking & Lending"
411
+ INVESTMENT_MANAGEMENT_WEALTH_TECH = :"Investment Management & WealthTech"
412
+ INSURANCE_INSUR_TECH = :"Insurance & InsurTech"
413
+ PAYMENTS_MONEY_MOVEMENT = :"Payments & Money Movement"
414
+ ACCOUNTING_TAX_FINANCIAL_PLANNING_TOOLS = :"Accounting, Tax & Financial Planning Tools"
415
+ CAPITAL_MARKETS_TRADING_PLATFORMS = :"Capital Markets & Trading Platforms"
416
+ FINANCIAL_INFRASTRUCTURE_APIS = :"Financial Infrastructure & APIs"
417
+ CREDIT_SCORING_RISK_MANAGEMENT = :"Credit Scoring & Risk Management"
418
+ CRYPTOCURRENCY_DIGITAL_ASSETS = :"Cryptocurrency & Digital Assets"
419
+ BNPL_ALTERNATIVE_FINANCING = :"BNPL & Alternative Financing"
420
+ HEALTHCARE_PROVIDERS_SERVICES = :"Healthcare Providers & Services"
421
+ PHARMACEUTICALS_DRUG_DEVELOPMENT = :"Pharmaceuticals & Drug Development"
422
+ MEDICAL_DEVICES_DIAGNOSTICS = :"Medical Devices & Diagnostics"
423
+ BIOTECHNOLOGY_GENOMICS = :"Biotechnology & Genomics"
424
+ DIGITAL_HEALTH_TELEMEDICINE = :"Digital Health & Telemedicine"
425
+ HEALTH_INSURANCE_BENEFITS_TECH = :"Health Insurance & Benefits Tech"
426
+ CLINICAL_TRIALS_RESEARCH_PLATFORMS = :"Clinical Trials & Research Platforms"
427
+ MENTAL_HEALTH_WELLNESS = :"Mental Health & Wellness"
428
+ HEALTHCARE_IT_EHR_SYSTEMS = :"Healthcare IT & EHR Systems"
429
+ CONSUMER_HEALTH_WELLNESS_PRODUCTS = :"Consumer Health & Wellness Products"
430
+ ONLINE_MARKETPLACES = :"Online Marketplaces"
431
+ DIRECT_TO_CONSUMER_DTC_BRANDS = :"Direct-to-Consumer (DTC) Brands"
432
+ RETAIL_TECH_POINT_OF_SALE_SYSTEMS = :"Retail Tech & Point-of-Sale Systems"
433
+ OMNICHANNEL_IN_STORE_RETAIL = :"Omnichannel & In-Store Retail"
434
+ E_COMMERCE_ENABLEMENT_INFRASTRUCTURE = :"E-commerce Enablement & Infrastructure"
435
+ SUBSCRIPTION_MEMBERSHIP_COMMERCE = :"Subscription & Membership Commerce"
436
+ SOCIAL_COMMERCE_INFLUENCER_PLATFORMS = :"Social Commerce & Influencer Platforms"
437
+ FASHION_APPAREL_RETAIL = :"Fashion & Apparel Retail"
438
+ FOOD_BEVERAGE_GROCERY_E_COMMERCE = :"Food, Beverage & Grocery E-commerce"
439
+ STREAMING_PLATFORMS_VIDEO_MUSIC_AUDIO = :"Streaming Platforms (Video, Music, Audio)"
440
+ GAMING_INTERACTIVE_ENTERTAINMENT = :"Gaming & Interactive Entertainment"
441
+ CREATOR_ECONOMY_INFLUENCER_PLATFORMS = :"Creator Economy & Influencer Platforms"
442
+ ADVERTISING_ADTECH_MEDIA_BUYING = :"Advertising, Adtech & Media Buying"
443
+ FILM_TV_PRODUCTION_STUDIOS = :"Film, TV & Production Studios"
444
+ EVENTS_VENUES_LIVE_ENTERTAINMENT = :"Events, Venues & Live Entertainment"
445
+ VIRTUAL_WORLDS_METAVERSE_EXPERIENCES = :"Virtual Worlds & Metaverse Experiences"
446
+ K_12_EDUCATION_PLATFORMS_TOOLS = :"K-12 Education Platforms & Tools"
447
+ HIGHER_EDUCATION_UNIVERSITY_TECH = :"Higher Education & University Tech"
448
+ ONLINE_LEARNING_MOO_CS = :"Online Learning & MOOCs"
449
+ TEST_PREP_CERTIFICATION = :"Test Prep & Certification"
450
+ CORPORATE_TRAINING_UPSKILLING = :"Corporate Training & Upskilling"
451
+ TUTORING_SUPPLEMENTAL_LEARNING = :"Tutoring & Supplemental Learning"
452
+ EDUCATION_MANAGEMENT_SYSTEMS_LMS_SIS = :"Education Management Systems (LMS/SIS)"
453
+ LANGUAGE_LEARNING = :"Language Learning"
454
+ CREATOR_LED_COHORT_BASED_COURSES = :"Creator-Led & Cohort-Based Courses"
455
+ SPECIAL_EDUCATION_ACCESSIBILITY_TOOLS = :"Special Education & Accessibility Tools"
456
+ GOVERNMENT_TECHNOLOGY_DIGITAL_SERVICES = :"Government Technology & Digital Services"
457
+ CIVIC_ENGAGEMENT_POLICY_PLATFORMS = :"Civic Engagement & Policy Platforms"
458
+ INTERNATIONAL_DEVELOPMENT_HUMANITARIAN_AID = :"International Development & Humanitarian Aid"
459
+ PHILANTHROPY_GRANTMAKING = :"Philanthropy & Grantmaking"
460
+ NONPROFIT_OPERATIONS_FUNDRAISING_TOOLS = :"Nonprofit Operations & Fundraising Tools"
461
+ PUBLIC_HEALTH_SOCIAL_SERVICES = :"Public Health & Social Services"
462
+ EDUCATION_YOUTH_DEVELOPMENT_PROGRAMS = :"Education & Youth Development Programs"
463
+ ENVIRONMENTAL_CLIMATE_ACTION_ORGANIZATIONS = :"Environmental & Climate Action Organizations"
464
+ LEGAL_AID_SOCIAL_JUSTICE_ADVOCACY = :"Legal Aid & Social Justice Advocacy"
465
+ MUNICIPAL_INFRASTRUCTURE_SERVICES = :"Municipal & Infrastructure Services"
466
+ MANUFACTURING_INDUSTRIAL_AUTOMATION = :"Manufacturing & Industrial Automation"
467
+ ENERGY_PRODUCTION_OIL_GAS_NUCLEAR = :"Energy Production (Oil, Gas, Nuclear)"
468
+ RENEWABLE_ENERGY_CLEANTECH = :"Renewable Energy & Cleantech"
469
+ UTILITIES_GRID_INFRASTRUCTURE = :"Utilities & Grid Infrastructure"
470
+ INDUSTRIAL_IO_T_MONITORING_SYSTEMS = :"Industrial IoT & Monitoring Systems"
471
+ CONSTRUCTION_HEAVY_EQUIPMENT = :"Construction & Heavy Equipment"
472
+ MINING_NATURAL_RESOURCES = :"Mining & Natural Resources"
473
+ ENVIRONMENTAL_ENGINEERING_SUSTAINABILITY = :"Environmental Engineering & Sustainability"
474
+ ENERGY_STORAGE_BATTERY_TECHNOLOGY = :"Energy Storage & Battery Technology"
475
+ AUTOMOTIVE_OE_MS_VEHICLE_MANUFACTURING = :"Automotive OEMs & Vehicle Manufacturing"
476
+ ELECTRIC_VEHICLES_E_VS_CHARGING_INFRASTRUCTURE = :"Electric Vehicles (EVs) & Charging Infrastructure"
477
+ MOBILITY_AS_A_SERVICE_MAA_S = :"Mobility-as-a-Service (MaaS)"
478
+ FLEET_MANAGEMENT = :"Fleet Management"
479
+ PUBLIC_TRANSIT_URBAN_MOBILITY = :"Public Transit & Urban Mobility"
480
+ AUTONOMOUS_VEHICLES_ADAS = :"Autonomous Vehicles & ADAS"
481
+ AFTERMARKET_PARTS_SERVICES = :"Aftermarket Parts & Services"
482
+ TELEMATICS_VEHICLE_CONNECTIVITY = :"Telematics & Vehicle Connectivity"
483
+ AVIATION_AEROSPACE_TRANSPORT = :"Aviation & Aerospace Transport"
484
+ MARITIME_SHIPPING = :"Maritime Shipping"
485
+ FITNESS_WELLNESS = :"Fitness & Wellness"
486
+ BEAUTY_PERSONAL_CARE = :"Beauty & Personal Care"
487
+ HOME_LIVING = :"Home & Living"
488
+ DATING_RELATIONSHIPS = :"Dating & Relationships"
489
+ HOBBIES_CRAFTS_DIY = :"Hobbies, Crafts & DIY"
490
+ OUTDOOR_RECREATIONAL_GEAR = :"Outdoor & Recreational Gear"
491
+ EVENTS_EXPERIENCES_TICKETING_PLATFORMS = :"Events, Experiences & Ticketing Platforms"
492
+ DESIGNER_LUXURY_APPAREL = :"Designer & Luxury Apparel"
493
+ ACCESSORIES_JEWELRY_WATCHES = :"Accessories, Jewelry & Watches"
494
+ FOOTWEAR_LEATHER_GOODS = :"Footwear & Leather Goods"
495
+ BEAUTY_FRAGRANCE_SKINCARE = :"Beauty, Fragrance & Skincare"
496
+ FASHION_MARKETPLACES_RETAIL_PLATFORMS = :"Fashion Marketplaces & Retail Platforms"
497
+ SUSTAINABLE_ETHICAL_FASHION = :"Sustainable & Ethical Fashion"
498
+ RESALE_VINTAGE_CIRCULAR_FASHION = :"Resale, Vintage & Circular Fashion"
499
+ FASHION_TECH_VIRTUAL_TRY_ONS = :"Fashion Tech & Virtual Try-Ons"
500
+ STREETWEAR_EMERGING_LUXURY = :"Streetwear & Emerging Luxury"
501
+ COUTURE_MADE_TO_MEASURE = :"Couture & Made-to-Measure"
502
+ NEWS_PUBLISHING_JOURNALISM = :"News Publishing & Journalism"
503
+ DIGITAL_MEDIA_CONTENT_PLATFORMS = :"Digital Media & Content Platforms"
504
+ BROADCASTING_TV_RADIO = :"Broadcasting (TV & Radio)"
505
+ PODCASTING_AUDIO_MEDIA = :"Podcasting & Audio Media"
506
+ NEWS_AGGREGATORS_CURATION_TOOLS = :"News Aggregators & Curation Tools"
507
+ INDEPENDENT_CREATOR_LED_MEDIA = :"Independent & Creator-Led Media"
508
+ NEWSLETTERS_SUBSTACK_STYLE_PLATFORMS = :"Newsletters & Substack-Style Platforms"
509
+ POLITICAL_INVESTIGATIVE_MEDIA = :"Political & Investigative Media"
510
+ TRADE_NICHE_PUBLICATIONS = :"Trade & Niche Publications"
511
+ MEDIA_MONITORING_ANALYTICS = :"Media Monitoring & Analytics"
512
+ PROFESSIONAL_TEAMS_LEAGUES = :"Professional Teams & Leagues"
513
+ SPORTS_MEDIA_BROADCASTING = :"Sports Media & Broadcasting"
514
+ SPORTS_BETTING_FANTASY_SPORTS = :"Sports Betting & Fantasy Sports"
515
+ FITNESS_ATHLETIC_TRAINING_PLATFORMS = :"Fitness & Athletic Training Platforms"
516
+ SPORTSWEAR_EQUIPMENT = :"Sportswear & Equipment"
517
+ ESPORTS_COMPETITIVE_GAMING = :"Esports & Competitive Gaming"
518
+ SPORTS_VENUES_EVENT_MANAGEMENT = :"Sports Venues & Event Management"
519
+ ATHLETE_MANAGEMENT_TALENT_AGENCIES = :"Athlete Management & Talent Agencies"
520
+ SPORTS_TECH_PERFORMANCE_ANALYTICS = :"Sports Tech & Performance Analytics"
521
+ YOUTH_AMATEUR_COLLEGIATE_SPORTS = :"Youth, Amateur & Collegiate Sports"
522
+ REAL_ESTATE_MARKETPLACES = :"Real Estate Marketplaces"
523
+ PROPERTY_MANAGEMENT_SOFTWARE = :"Property Management Software"
524
+ RENTAL_PLATFORMS = :"Rental Platforms"
525
+ MORTGAGE_LENDING_TECH = :"Mortgage & Lending Tech"
526
+ REAL_ESTATE_INVESTMENT_PLATFORMS = :"Real Estate Investment Platforms"
527
+ LAW_FIRMS_LEGAL_SERVICES = :"Law Firms & Legal Services"
528
+ LEGAL_TECH_AUTOMATION = :"Legal Tech & Automation"
529
+ REGULATORY_COMPLIANCE = :"Regulatory Compliance"
530
+ E_DISCOVERY_LITIGATION_TOOLS = :"E-Discovery & Litigation Tools"
531
+ CONTRACT_MANAGEMENT = :"Contract Management"
532
+ GOVERNANCE_RISK_COMPLIANCE_GRC = :"Governance, Risk & Compliance (GRC)"
533
+ IP_TRADEMARK_MANAGEMENT = :"IP & Trademark Management"
534
+ LEGAL_RESEARCH_INTELLIGENCE = :"Legal Research & Intelligence"
535
+ COMPLIANCE_TRAINING_CERTIFICATION = :"Compliance Training & Certification"
536
+ WHISTLEBLOWER_ETHICS_REPORTING = :"Whistleblower & Ethics Reporting"
537
+ MOBILE_WIRELESS_NETWORKS_3_G_4_G_5_G = :"Mobile & Wireless Networks (3G/4G/5G)"
538
+ BROADBAND_FIBER_INTERNET = :"Broadband & Fiber Internet"
539
+ SATELLITE_SPACE_BASED_COMMUNICATIONS = :"Satellite & Space-Based Communications"
540
+ NETWORK_EQUIPMENT_INFRASTRUCTURE = :"Network Equipment & Infrastructure"
541
+ TELECOM_BILLING_OSS_BSS_SYSTEMS = :"Telecom Billing & OSS/BSS Systems"
542
+ VO_IP_UNIFIED_COMMUNICATIONS = :"VoIP & Unified Communications"
543
+ INTERNET_SERVICE_PROVIDERS_IS_PS = :"Internet Service Providers (ISPs)"
544
+ EDGE_COMPUTING_NETWORK_VIRTUALIZATION = :"Edge Computing & Network Virtualization"
545
+ IO_T_CONNECTIVITY_PLATFORMS = :"IoT Connectivity Platforms"
546
+ PRECISION_AGRICULTURE_AG_TECH = :"Precision Agriculture & AgTech"
547
+ CROP_LIVESTOCK_PRODUCTION = :"Crop & Livestock Production"
548
+ FOOD_BEVERAGE_MANUFACTURING_PROCESSING = :"Food & Beverage Manufacturing & Processing"
549
+ FOOD_DISTRIBUTION = :"Food Distribution"
550
+ RESTAURANTS_FOOD_SERVICE = :"Restaurants & Food Service"
551
+ AGRICULTURAL_INPUTS_EQUIPMENT = :"Agricultural Inputs & Equipment"
552
+ SUSTAINABLE_REGENERATIVE_AGRICULTURE = :"Sustainable & Regenerative Agriculture"
553
+ SEAFOOD_AQUACULTURE = :"Seafood & Aquaculture"
554
+ MANAGEMENT_CONSULTING = :"Management Consulting"
555
+ MARKETING_ADVERTISING_AGENCIES = :"Marketing & Advertising Agencies"
556
+ DESIGN_BRANDING_CREATIVE_STUDIOS = :"Design, Branding & Creative Studios"
557
+ IT_SERVICES_MANAGED_SERVICES = :"IT Services & Managed Services"
558
+ STAFFING_RECRUITING_TALENT = :"Staffing, Recruiting & Talent"
559
+ ACCOUNTING_TAX_FIRMS = :"Accounting & Tax Firms"
560
+ PUBLIC_RELATIONS_COMMUNICATIONS = :"Public Relations & Communications"
561
+ BUSINESS_PROCESS_OUTSOURCING_BPO = :"Business Process Outsourcing (BPO)"
562
+ PROFESSIONAL_TRAINING_COACHING = :"Professional Training & Coaching"
563
+ SPECIALTY_CHEMICALS = :"Specialty Chemicals"
564
+ COMMODITY_PETROCHEMICALS = :"Commodity & Petrochemicals"
565
+ POLYMERS_PLASTICS_RUBBER = :"Polymers, Plastics & Rubber"
566
+ COATINGS_ADHESIVES_SEALANTS = :"Coatings, Adhesives & Sealants"
567
+ INDUSTRIAL_GASES = :"Industrial Gases"
568
+ ADVANCED_MATERIALS_COMPOSITES = :"Advanced Materials & Composites"
569
+ BATTERY_MATERIALS_ENERGY_STORAGE = :"Battery Materials & Energy Storage"
570
+ ELECTRONIC_MATERIALS_SEMICONDUCTOR_CHEMICALS = :"Electronic Materials & Semiconductor Chemicals"
571
+ AGROCHEMICALS_FERTILIZERS = :"Agrochemicals & Fertilizers"
572
+ FREIGHT_TRANSPORTATION_TECH = :"Freight & Transportation Tech"
573
+ LAST_MILE_DELIVERY = :"Last-Mile Delivery"
574
+ WAREHOUSE_AUTOMATION = :"Warehouse Automation"
575
+ SUPPLY_CHAIN_VISIBILITY_PLATFORMS = :"Supply Chain Visibility Platforms"
576
+ LOGISTICS_MARKETPLACES = :"Logistics Marketplaces"
577
+ SHIPPING_FREIGHT_FORWARDING = :"Shipping & Freight Forwarding"
578
+ COLD_CHAIN_LOGISTICS = :"Cold Chain Logistics"
579
+ REVERSE_LOGISTICS_RETURNS = :"Reverse Logistics & Returns"
580
+ CROSS_BORDER_TRADE_TECH = :"Cross-Border Trade Tech"
581
+ TRANSPORTATION_MANAGEMENT_SYSTEMS_TMS = :"Transportation Management Systems (TMS)"
582
+ HOTELS_ACCOMMODATION = :"Hotels & Accommodation"
583
+ VACATION_RENTALS_SHORT_TERM_STAYS = :"Vacation Rentals & Short-Term Stays"
584
+ RESTAURANT_TECH_MANAGEMENT = :"Restaurant Tech & Management"
585
+ TRAVEL_BOOKING_PLATFORMS = :"Travel Booking Platforms"
586
+ TOURISM_EXPERIENCES_ACTIVITIES = :"Tourism Experiences & Activities"
587
+ CRUISE_LINES_MARINE_TOURISM = :"Cruise Lines & Marine Tourism"
588
+ HOSPITALITY_MANAGEMENT_SYSTEMS = :"Hospitality Management Systems"
589
+ EVENT_VENUE_MANAGEMENT = :"Event & Venue Management"
590
+ CORPORATE_TRAVEL_MANAGEMENT = :"Corporate Travel Management"
591
+ TRAVEL_INSURANCE_PROTECTION = :"Travel Insurance & Protection"
592
+ CONSTRUCTION_MANAGEMENT_SOFTWARE = :"Construction Management Software"
593
+ BIM_CAD_DESIGN_TOOLS = :"BIM/CAD & Design Tools"
594
+ CONSTRUCTION_MARKETPLACES = :"Construction Marketplaces"
595
+ EQUIPMENT_RENTAL_MANAGEMENT = :"Equipment Rental & Management"
596
+ BUILDING_MATERIALS_PROCUREMENT = :"Building Materials & Procurement"
597
+ CONSTRUCTION_WORKFORCE_MANAGEMENT = :"Construction Workforce Management"
598
+ PROJECT_ESTIMATION_BIDDING = :"Project Estimation & Bidding"
599
+ MODULAR_PREFAB_CONSTRUCTION = :"Modular & Prefab Construction"
600
+ CONSTRUCTION_SAFETY_COMPLIANCE = :"Construction Safety & Compliance"
601
+ SMART_BUILDING_TECHNOLOGY = :"Smart Building Technology"
602
+ FOOD_BEVERAGE_CPG = :"Food & Beverage CPG"
603
+ HOME_PERSONAL_CARE_CPG = :"Home & Personal Care CPG"
604
+ CPG_ANALYTICS_INSIGHTS = :"CPG Analytics & Insights"
605
+ DIRECT_TO_CONSUMER_CPG_BRANDS = :"Direct-to-Consumer CPG Brands"
606
+ CPG_SUPPLY_CHAIN_DISTRIBUTION = :"CPG Supply Chain & Distribution"
607
+ PRIVATE_LABEL_MANUFACTURING = :"Private Label Manufacturing"
608
+ CPG_RETAIL_INTELLIGENCE = :"CPG Retail Intelligence"
609
+ SUSTAINABLE_CPG_PACKAGING = :"Sustainable CPG & Packaging"
610
+ BEAUTY_COSMETICS_CPG = :"Beauty & Cosmetics CPG"
611
+ HEALTH_WELLNESS_CPG = :"Health & Wellness CPG"
612
+
613
+ # @!method self.values
614
+ # @return [Array<Symbol>]
615
+ end
616
+ end
617
+ end
618
+
309
619
  class Logo < BrandDev::Internal::Type::BaseModel
310
620
  # @!attribute colors
311
621
  # Array of colors in the logo
@@ -8,13 +8,15 @@ module BrandDev
8
8
  include BrandDev::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute domain
11
- # Domain name to retrieve brand data for
11
+ # Domain name to retrieve brand data for (e.g., 'example.com', 'google.com').
12
+ # Cannot be used with name or ticker parameters.
12
13
  #
13
- # @return [String]
14
- required :domain, String
14
+ # @return [String, nil]
15
+ optional :domain, String
15
16
 
16
17
  # @!attribute force_language
17
- # Optional parameter to force the language of the retrieved brand data
18
+ # Optional parameter to force the language of the retrieved brand data. Works with
19
+ # all three lookup methods.
18
20
  #
19
21
  # @return [Symbol, BrandDev::Models::BrandRetrieveParams::ForceLanguage, nil]
20
22
  optional :force_language, enum: -> { BrandDev::BrandRetrieveParams::ForceLanguage }
@@ -22,11 +24,27 @@ module BrandDev
22
24
  # @!attribute max_speed
23
25
  # Optional parameter to optimize the API call for maximum speed. When set to true,
24
26
  # the API will skip time-consuming operations for faster response at the cost of
25
- # less comprehensive data.
27
+ # less comprehensive data. Works with all three lookup methods.
26
28
  #
27
29
  # @return [Boolean, nil]
28
30
  optional :max_speed, BrandDev::Internal::Type::Boolean
29
31
 
32
+ # @!attribute name
33
+ # Company name to retrieve brand data for (e.g., 'Apple Inc', 'Microsoft
34
+ # Corporation'). Must be 3-30 characters. Cannot be used with domain or ticker
35
+ # parameters.
36
+ #
37
+ # @return [String, nil]
38
+ optional :name, String
39
+
40
+ # @!attribute ticker
41
+ # Stock ticker symbol to retrieve brand data for (e.g., 'AAPL', 'GOOGL', 'BRK.A').
42
+ # Must be 1-6 characters, letters/numbers/dots only. Cannot be used with domain or
43
+ # name parameters.
44
+ #
45
+ # @return [String, nil]
46
+ optional :ticker, String
47
+
30
48
  # @!attribute timeout_ms
31
49
  # Optional timeout in milliseconds for the request. If the request takes longer
32
50
  # than this value, it will be aborted with a 408 status code. Maximum allowed
@@ -35,21 +53,26 @@ module BrandDev
35
53
  # @return [Integer, nil]
36
54
  optional :timeout_ms, Integer
37
55
 
38
- # @!method initialize(domain:, force_language: nil, max_speed: nil, timeout_ms: nil, request_options: {})
56
+ # @!method initialize(domain: nil, force_language: nil, max_speed: nil, name: nil, ticker: nil, timeout_ms: nil, request_options: {})
39
57
  # Some parameter documentations has been truncated, see
40
58
  # {BrandDev::Models::BrandRetrieveParams} for more details.
41
59
  #
42
- # @param domain [String] Domain name to retrieve brand data for
60
+ # @param domain [String] Domain name to retrieve brand data for (e.g., 'example.com', 'google.com'). Cann
43
61
  #
44
- # @param force_language [Symbol, BrandDev::Models::BrandRetrieveParams::ForceLanguage] Optional parameter to force the language of the retrieved brand data
62
+ # @param force_language [Symbol, BrandDev::Models::BrandRetrieveParams::ForceLanguage] Optional parameter to force the language of the retrieved brand data. Works with
45
63
  #
46
64
  # @param max_speed [Boolean] Optional parameter to optimize the API call for maximum speed. When set to true,
47
65
  #
66
+ # @param name [String] Company name to retrieve brand data for (e.g., 'Apple Inc', 'Microsoft Corporati
67
+ #
68
+ # @param ticker [String] Stock ticker symbol to retrieve brand data for (e.g., 'AAPL', 'GOOGL', 'BRK.A').
69
+ #
48
70
  # @param timeout_ms [Integer] Optional timeout in milliseconds for the request. If the request takes longer th
49
71
  #
50
72
  # @param request_options [BrandDev::RequestOptions, Hash{Symbol=>Object}]
51
73
 
52
- # Optional parameter to force the language of the retrieved brand data
74
+ # Optional parameter to force the language of the retrieved brand data. Works with
75
+ # all three lookup methods.
53
76
  module ForceLanguage
54
77
  extend BrandDev::Internal::Type::Enum
55
78