Sha256: f5a668e85756dc171f4e5fe0a3ad921c0fa48980864afe51926f9fb11a234de5

Contents?: true

Size: 537 Bytes

Versions: 62

Compression:

Stored size: 537 Bytes

Contents

module Workarea
  module Admin
    module Reports
      class SalesBySkuViewModel < ApplicationViewModel
        def results
          @results ||= model.results.map do |result|
            product = products.detect { |p| p.skus.include?(result['_id']) }
            OpenStruct.new({ product: product }.merge(result))
          end
        end

        def products
          @products ||= Catalog::Product.any_in(
            'variants.sku' => model.results.map { |r| r['_id'] }
          ).to_a
        end
      end
    end
  end
end

Version data entries

62 entries across 62 versions & 1 rubygems

Version Path
workarea-admin-3.4.13 app/view_models/workarea/admin/reports/sales_by_sku_view_model.rb
workarea-admin-3.4.12 app/view_models/workarea/admin/reports/sales_by_sku_view_model.rb