Module: Www::ReviewsIo::Concerns::ReviewsIoSupport

Extended by:
ActiveSupport::Concern
Included in:
ProductRatingComponent, RatingBarComponent, ReviewListComponent, ReviewSliderComponent
Defined in:
app/components/www/reviews_io/concerns/reviews_io_support.rb

Overview

Shared functionality for Reviews.io components.
Provides consistent SKU resolution, stats calculation, and helper methods.

Including components should define:

  • @skus (optional Array of SKUs)
  • @product_line (optional String/Integer/ProductLine)

Optional expansion flags (set in including component):

  • @include_variants (Boolean) - expand each SKU to include item variants
  • @include_pl_siblings (Boolean) - expand to include all items in grouped product lines
    (uses product_groupings.yml to find related product lines)

Usage:
class MyReviewComponent < ApplicationComponent
include Www::ReviewsIo::Concerns::ReviewsIoSupport

def initialize(skus: nil, product_line: nil, include_variants: false, include_pl_siblings: false)
  @skus = skus
  @product_line = product_line
  @include_variants = include_variants
  @include_pl_siblings = include_pl_siblings
  super()
end

end