Class: ContextDev::Models::AIExtractProductResponse::Product

Inherits:
Internal::Type::BaseModel show all
Defined in:
lib/context_dev/models/ai_extract_product_response.rb,
sig/context_dev/models/ai_extract_product_response.rbs

Overview

See Also:

  • ContextDev::Models::AIExtractProductResponse#product

Defined Under Namespace

Modules: Availability, BillingFrequency, PricingModel

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Internal::Type::BaseModel

==, #==, #[], coerce, #deconstruct_keys, #deep_to_h, dump, fields, hash, #hash, inherited, inspect, #inspect, known_fields, optional, recursively_to_h, required, #to_h, #to_json, #to_s, to_sorbet_type, #to_yaml

Methods included from Internal::Type::Converter

#coerce, coerce, #dump, dump, #inspect, inspect, meta_info, new_coerce_state, type_info

Methods included from Internal::Util::SorbetRuntimeSupport

#const_missing, #define_sorbet_constant!, #sorbet_constant_defined?, #to_sorbet_type, to_sorbet_type

Constructor Details

#initialize(description:, features:, images:, name:, sku:, tags:, target_audience:, availability: nil, billing_frequency: nil, category: nil, currency: nil, dimensions: nil, image_url: nil, price: nil, pricing_model: nil, regular_price: nil, url: nil) ⇒ Object

Some parameter documentations has been truncated, see ContextDev::Models::AIExtractProductResponse::Product for more details.

The extracted product data, or null if not a product page

Parameters:

  • description (String)

    Description of the product

  • features (Array<String>)

    List of product features

  • images (Array<String>)

    URLs to product images on the page (up to 7)

  • name (String)

    Name of the product

  • sku (String, nil)

    Stock Keeping Unit (product identifier). Null if no identifier is found.

  • tags (Array<String>)

    Tags associated with the product

  • target_audience (Array<String>)

    Target audience for the product (array of strings)

  • availability (Symbol, ContextDev::Models::AIExtractProductResponse::Product::Availability, nil) (defaults to: nil)

    Normalized stock or ordering availability

  • billing_frequency (Symbol, ContextDev::Models::AIExtractProductResponse::Product::BillingFrequency, nil) (defaults to: nil)

    Billing frequency for the product

  • category (String, nil) (defaults to: nil)

    Category of the product

  • currency (String, nil) (defaults to: nil)

    Currency code for the price (e.g., USD, EUR)

  • dimensions (Array<String>) (defaults to: nil)

    Dimension statements shown for the product, preserving labels, values, and units

  • image_url (String, nil) (defaults to: nil)

    URL to the product image

  • price (Float, nil) (defaults to: nil)

    Price of the product

  • pricing_model (Symbol, ContextDev::Models::AIExtractProductResponse::Product::PricingModel, nil) (defaults to: nil)

    Pricing model for the product

  • regular_price (Float, nil) (defaults to: nil)

    Original or regular price before a displayed discount

  • url (String, nil) (defaults to: nil)

    URL to the product page



# File 'lib/context_dev/models/ai_extract_product_response.rb', line 245

Instance Attribute Details

#availabilitySymbol, ...

Normalized stock or ordering availability

Parameters:

  • value (ContextDev::Models::AIExtractProductResponse::Product::availability, nil)

Returns:



183
184
185
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 183

optional :availability,
enum: -> { ContextDev::Models::AIExtractProductResponse::Product::Availability },
nil?: true

#billing_frequencySymbol, ...

Billing frequency for the product

Parameters:

  • value (ContextDev::Models::AIExtractProductResponse::Product::billing_frequency, nil)

Returns:



191
192
193
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 191

optional :billing_frequency,
enum: -> { ContextDev::Models::AIExtractProductResponse::Product::BillingFrequency },
nil?: true

#categoryString?

Category of the product

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


199
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 199

optional :category, String, nil?: true

#currencyString?

Currency code for the price (e.g., USD, EUR)

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


205
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 205

optional :currency, String, nil?: true

#descriptionString

Description of the product

Parameters:

  • value (String)

Returns:

  • (String)


141
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 141

required :description, String

#dimensionsArray<String>?

Dimension statements shown for the product, preserving labels, values, and units

Parameters:

  • (::Array[String])

Returns:

  • (Array<String>, nil)


211
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 211

optional :dimensions, ContextDev::Internal::Type::ArrayOf[String]

#featuresArray<String>

List of product features

Parameters:

  • value (::Array[String])

Returns:

  • (Array<String>)


147
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 147

required :features, ContextDev::Internal::Type::ArrayOf[String]

#image_urlString?

URL to the product image

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


217
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 217

optional :image_url, String, nil?: true

#imagesArray<String>

URLs to product images on the page (up to 7)

Parameters:

  • value (::Array[String])

Returns:

  • (Array<String>)


153
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 153

required :images, ContextDev::Internal::Type::ArrayOf[String]

#nameString

Name of the product

Parameters:

  • value (String)

Returns:

  • (String)


159
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 159

required :name, String

#priceFloat?

Price of the product

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


223
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 223

optional :price, Float, nil?: true

#pricing_modelSymbol, ...

Pricing model for the product

Parameters:

  • value (ContextDev::Models::AIExtractProductResponse::Product::pricing_model, nil)

Returns:



229
230
231
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 229

optional :pricing_model,
enum: -> { ContextDev::Models::AIExtractProductResponse::Product::PricingModel },
nil?: true

#regular_priceFloat?

Original or regular price before a displayed discount

Parameters:

  • value (Float, nil)

Returns:

  • (Float, nil)


237
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 237

optional :regular_price, Float, nil?: true

#skuString?

Stock Keeping Unit (product identifier). Null if no identifier is found.

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


165
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 165

required :sku, String, nil?: true

#tagsArray<String>

Tags associated with the product

Parameters:

  • value (::Array[String])

Returns:

  • (Array<String>)


171
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 171

required :tags, ContextDev::Internal::Type::ArrayOf[String]

#target_audienceArray<String>

Target audience for the product (array of strings)

Parameters:

  • value (::Array[String])

Returns:

  • (Array<String>)


177
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 177

required :target_audience, ContextDev::Internal::Type::ArrayOf[String]

#urlString?

URL to the product page

Parameters:

  • value (String, nil)

Returns:

  • (String, nil)


243
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 243

optional :url, String, nil?: true

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


# File 'lib/context_dev/models/ai_extract_product_response.rb', line 299

Instance Method Details

#to_hash{

Returns:

  • ({)


189
# File 'sig/context_dev/models/ai_extract_product_response.rbs', line 189

def to_hash: -> {