Module: Showroom::Search
- Defined in:
- lib/showroom/models/search.rb,
lib/showroom/models/search/result.rb,
lib/showroom/models/search/suggestion.rb,
lib/showroom/models/search/page_suggestion.rb,
lib/showroom/models/search/query_suggestion.rb,
lib/showroom/models/search/article_suggestion.rb,
lib/showroom/models/search/product_suggestion.rb,
lib/showroom/models/search/collection_suggestion.rb
Overview
Provides search/suggest functionality against the Shopify search API.
Defined Under Namespace
Classes: ArticleSuggestion, CollectionSuggestion, PageSuggestion, ProductSuggestion, QuerySuggestion, Result, Suggestion
Class Method Summary collapse
-
.suggest(query_str, types: %i[product collection],, limit: Showroom.per_page, **params) ⇒ Result
Calls GET /search/suggest.json and returns a Result wrapping the response.
Class Method Details
.suggest(query_str, types: %i[product collection],, limit: Showroom.per_page, **params) ⇒ Result
Calls GET /search/suggest.json and returns a Result wrapping the response.
Builds query parameters of the form:
?q=...&resources[type]=product,collection&resources[limit]=10
20 21 22 23 24 25 26 |
# File 'lib/showroom/models/search.rb', line 20 def self.suggest(query_str, types: %i[product collection], limit: Showroom.per_page, **params) query = { q: query_str, 'resources[limit]' => limit } query['resources[type]'] = types.join(',') unless types.empty? query.merge!(params) raw = Showroom.client.get('/search/suggest.json', query) Result.new(raw.dig('resources', 'results') || {}) end |