Class: Inttegro::Product
- Inherits:
-
T::Struct
- Object
- T::Struct
- Inttegro::Product
- Extended by:
- T::Sig
- Defined in:
- lib/inttegro/product/product.rb,
lib/inttegro/product/base.rb,
lib/inttegro/product/page.rb,
lib/inttegro/product/type.rb,
lib/inttegro/product/media.rb,
lib/inttegro/product/render.rb,
lib/inttegro/product/stream.rb,
lib/inttegro/product/details.rb,
lib/inttegro/product/service.rb,
lib/inttegro/product/updated.rb,
lib/inttegro/product/delivery.rb,
lib/inttegro/product/download.rb,
lib/inttegro/product/response.rb,
lib/inttegro/product/shipment.rb,
lib/inttegro/product/attribute.rb,
lib/inttegro/product/line_item.rb,
lib/inttegro/product/questions.rb,
lib/inttegro/product/dimensions.rb,
lib/inttegro/product/page_request.rb,
lib/inttegro/product/page_response.rb,
lib/inttegro/product/price_summary.rb,
lib/inttegro/product/shipment_type.rb,
lib/inttegro/product/action_request.rb,
lib/inttegro/product/create_request.rb,
lib/inttegro/product/inline_details.rb,
lib/inttegro/product/line_item_type.rb,
lib/inttegro/product/lookup_request.rb,
lib/inttegro/product/shipment_input.rb,
lib/inttegro/product/update_request.rb,
lib/inttegro/product/update_response.rb,
lib/inttegro/product/add_price_request.rb,
lib/inttegro/product/dimensions_custom.rb,
lib/inttegro/product/add_price_response.rb,
lib/inttegro/product/dimensions_digital.rb,
lib/inttegro/product/dimensions_physical.rb,
lib/inttegro/product/shipment_input_type.rb,
lib/inttegro/product/catalog_with_price_data.rb,
lib/inttegro/product/catalog_with_price_reference.rb,
lib/inttegro/product/customer_selected_price_input.rb,
lib/inttegro/product/set_default_unit_price_request.rb,
lib/inttegro/product/catalog_with_customer_selected_price.rb
Overview
Typed representation of the product object in the Inttegro API.
This generated model is immutable. Construct it with .new, or decode a string-keyed API
payload with .from_hash. #serialize produces a string-keyed hash using the original wire
field names and serialized enum values.
Defined Under Namespace
Classes: ActionRequest, AddPriceRequest, AddPriceResponse, Attribute, CatalogWithCustomerSelectedPrice, CatalogWithPriceData, CatalogWithPriceReference, CreateRequest, CustomerSelectedPriceInput, Delivery, Dimensions, DimensionsCustom, DimensionsDigital, DimensionsPhysical, Download, InlineDetails, LineItem, LineItemType, LookupRequest, Media, Page, PageRequest, PageResponse, PriceSummary, Render, Response, Service, SetDefaultUnitPriceRequest, Shipment, ShipmentInput, ShipmentInputType, ShipmentType, Stream, Type, UpdateRequest, UpdateResponse, Updated
Constant Summary collapse
- Details =
Provide either inline product data or a
product_idreference to an existing catalog product. Catalog-backed product line items can use an explicitpriceor an existingprice_id, or a validatedcustomer_selected_price. Inttegro never falls back to a product's default unit price during order creation. T.type_alias { T.any(Inttegro::Product::InlineDetails, Inttegro::Product::CatalogWithPriceData, Inttegro::Product::CatalogWithPriceReference, Inttegro::Product::CatalogWithCustomerSelectedPrice) }
Instance Attribute Summary collapse
-
#about ⇒ String?
readonly
Full product description.
-
#active ⇒ Boolean
readonly
Whether product is published and available.
-
#archived_at ⇒ Time?
readonly
Archive timestamp (if archived).
-
#attributes ⇒ Array<Inttegro::Product::Attribute>?
readonly
Product attributes.
-
#category ⇒ String?
readonly
Product category.
-
#created_at ⇒ Time
readonly
Product creation timestamp.
-
#custom_data ⇒ Inttegro::CustomData?
readonly
Merchant-defined string values attached to a resource.
-
#description ⇒ String?
readonly
Short description.
-
#dimensions ⇒ Inttegro::Product::Dimensions?
readonly
At most one of
physical,digital, orcustom. -
#id ⇒ String
readonly
Unique product identifier with prod_ prefix.
-
#media ⇒ Inttegro::Product::Media?
readonly
Value of the
mediafield in the Inttegro API payload. -
#name ⇒ String
readonly
Product name.
-
#prices ⇒ Array<Inttegro::Product::PriceSummary>?
readonly
Non-archived prices that belong to this product.
-
#published_at ⇒ Time?
readonly
When the product was published.
-
#reference ⇒ String?
readonly
External reference or SKU.
-
#shipment ⇒ Inttegro::Product::Shipment?
readonly
Value of the
shipmentfield in the Inttegro API payload. -
#tax_code ⇒ String?
readonly
Tax classification code.
-
#type ⇒ Inttegro::Product::Type
readonly
Product type.
-
#unit_dim ⇒ String?
readonly
Unit dimension label.
-
#updated_at ⇒ Time?
readonly
Last update timestamp.
Instance Method Summary collapse
-
#archived? ⇒ Boolean
Determine whether the API supplied an archive timestamp.
-
#ever_published? ⇒ Boolean
Determine whether the product has ever received a publication timestamp.
-
#published? ⇒ Boolean
Determine whether the product is currently active and not archived.
Instance Attribute Details
#about ⇒ String? (readonly)
Full product description
Optional in the API payload; omitted values default to nil. Wire name: about.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#active ⇒ Boolean (readonly)
Whether product is published and available
Required in the API payload. Wire name: active.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#archived_at ⇒ Time? (readonly)
Archive timestamp (if archived)
Optional in the API payload; omitted values default to nil. Wire name: archived_at.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#attributes ⇒ Array<Inttegro::Product::Attribute>? (readonly)
Product attributes
Optional in the API payload; omitted values default to nil. Wire name: attributes.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#category ⇒ String? (readonly)
Product category
Optional in the API payload; omitted values default to nil. Wire name: category.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#created_at ⇒ Time (readonly)
Product creation timestamp
Required in the API payload. Wire name: created_at.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#custom_data ⇒ Inttegro::CustomData? (readonly)
Merchant-defined string values attached to a resource. SDKs expose this as a semantic collection rather than a raw map.
Optional in the API payload; omitted values default to nil. Wire name: custom_data.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#description ⇒ String? (readonly)
Short description
Optional in the API payload; omitted values default to nil. Wire name: description.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#dimensions ⇒ Inttegro::Product::Dimensions? (readonly)
At most one of physical, digital, or custom.
Optional in the API payload; omitted values default to nil. Wire name: dimensions.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#id ⇒ String (readonly)
Unique product identifier with prod_ prefix
Required in the API payload. Wire name: id.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#media ⇒ Inttegro::Product::Media? (readonly)
Value of the media field in the Inttegro API payload.
Optional in the API payload; omitted values default to nil. Wire name: media.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#name ⇒ String (readonly)
Product name
Required in the API payload. Wire name: name.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#prices ⇒ Array<Inttegro::Product::PriceSummary>? (readonly)
Non-archived prices that belong to this product
Optional in the API payload; omitted values default to nil. Wire name: prices.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#published_at ⇒ Time? (readonly)
When the product was published
Optional in the API payload; omitted values default to nil. Wire name: published_at.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#reference ⇒ String? (readonly)
External reference or SKU
Optional in the API payload; omitted values default to nil. Wire name: reference.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#shipment ⇒ Inttegro::Product::Shipment? (readonly)
Value of the shipment field in the Inttegro API payload.
Optional in the API payload; omitted values default to nil. Wire name: shipment.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#tax_code ⇒ String? (readonly)
Tax classification code
Optional in the API payload; omitted values default to nil. Wire name: tax_code.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#type ⇒ Inttegro::Product::Type (readonly)
Product type
Required in the API payload. Wire name: type.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#unit_dim ⇒ String? (readonly)
Unit dimension label
Optional in the API payload; omitted values default to nil. Wire name: unit_dim.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
#updated_at ⇒ Time? (readonly)
Last update timestamp
Optional in the API payload; omitted values default to nil. Wire name: updated_at.
144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 |
# File 'lib/inttegro/product/product.rb', line 144 class Product const :id, String const :type, Inttegro::Product::Type const :reference, T.nilable(String), default: nil const :name, String const :description, T.nilable(String), default: nil const :about, T.nilable(String), default: nil const :tax_code, T.nilable(String), default: nil const :category, T.nilable(String), default: nil const :prices, T.nilable(T::Array[Inttegro::Product::PriceSummary]), default: nil const :shipment, T.nilable(Inttegro::Product::Shipment), default: nil const :media, T.nilable(Inttegro::Product::Media), default: nil const :attributes, T.nilable(T::Array[Inttegro::Product::Attribute]), default: nil const :dimensions, T.nilable(Inttegro::Product::Dimensions), default: nil const :custom_data, T.nilable(Inttegro::CustomData), default: nil const :active, T::Boolean const :created_at, Time const :updated_at, T.nilable(Time), default: nil const :archived_at, T.nilable(Time), default: nil const :published_at, T.nilable(Time), default: nil const :unit_dim, T.nilable(String), default: nil end |
Instance Method Details
#archived? ⇒ Boolean
Determine whether the API supplied an archive timestamp.
12 13 14 |
# File 'lib/inttegro/product/questions.rb', line 12 def archived? !archived_at.nil? end |
#ever_published? ⇒ Boolean
Determine whether the product has ever received a publication timestamp.
31 32 33 |
# File 'lib/inttegro/product/questions.rb', line 31 def ever_published? !published_at.nil? end |
#published? ⇒ Boolean
Determine whether the product is currently active and not archived.
This local predicate does not infer publication from #published_at; it reflects the
active and archived_at fields on the current model.
23 24 25 |
# File 'lib/inttegro/product/questions.rb', line 23 def published? active && !archived? end |