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

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

Overview

See Also:

Defined Under Namespace

Modules: 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:, tags:, target_audience:, billing_frequency: nil, category: nil, currency: nil, image_url: nil, price: nil, pricing_model: nil, url: nil) ⇒ Object

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

  • tags (Array<String>)

    Tags associated with the product

  • target_audience (Array<String>)

    Target audience for the product (array of strings)

  • 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)

  • 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

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

    URL to the product page



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

Instance Attribute Details

#billing_frequencySymbol, ...

Billing frequency for the product



89
90
91
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 89

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

#categoryString?

Category of the product

Returns:

  • (String, nil)


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

optional :category, String, nil?: true

#currencyString?

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

Returns:

  • (String, nil)


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

optional :currency, String, nil?: true

#descriptionString

Description of the product

Returns:

  • (String)


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

required :description, String

#featuresArray<String>

List of product features

Returns:

  • (Array<String>)


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

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

#image_urlString?

URL to the product image

Returns:

  • (String, nil)


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

optional :image_url, String, nil?: true

#imagesArray<String>

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

Returns:

  • (Array<String>)


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

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

#nameString

Name of the product

Returns:

  • (String)


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

required :name, String

#priceFloat?

Price of the product

Returns:

  • (Float, nil)


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

optional :price, Float, nil?: true

#pricing_modelSymbol, ...

Pricing model for the product



121
122
123
# File 'lib/context_dev/models/ai_extract_product_response.rb', line 121

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

#tagsArray<String>

Tags associated with the product

Returns:

  • (Array<String>)


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

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

#target_audienceArray<String>

Target audience for the product (array of strings)

Returns:

  • (Array<String>)


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

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

#urlString?

URL to the product page

Returns:

  • (String, nil)


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

optional :url, String, nil?: true

Class Method Details

.valuesArray<Symbol>

Returns:

  • (Array<Symbol>)


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