Sha256: 1fe3753c321bd9a725f75aa93157edb2cb848197c27fcc39b5a999e3cab59c46
Contents?: true
Size: 694 Bytes
Versions: 4
Compression:
Stored size: 694 Bytes
Contents
# frozen_string_literal: true module SolidusGraphqlApi module Queries class ProductsQuery attr_reader :user, :pricing_options def initialize(user:, pricing_options:) @user = user @pricing_options = pricing_options end def call(query: {}) Spree::Config.searcher_class.new(build_query(query)).tap do |searcher| searcher.current_user = user searcher.pricing_options = pricing_options end.retrieve_products.except(:limit, :offset) end private def build_query(query) query.to_h.tap do |q| q[:taxon] = q[:taxon].id unless q[:taxon].nil? end end end end end
Version data entries
4 entries across 4 versions & 1 rubygems