Class: Zaikio::Procurement::VariantSearch

Inherits:
Object
  • Object
show all
Defined in:
lib/zaikio/procurement/variant_search.rb

Instance Method Summary collapse

Constructor Details

#initialize(type: "all", query: nil, **filters) ⇒ VariantSearch

Returns a new instance of VariantSearch.



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/zaikio/procurement/variant_search.rb', line 4

def initialize(type: "all", query: nil, **filters)
  @type         = type.split.join
  @query        = query
  @filters      = filters

  unless @filters.respond_to?(:stringify_keys)
    raise ArgumentError, "When using additional search parameters, you must pass a hash as an argument."
  end

  @response = Zaikio::Procurement::Base
              .request(:get, "variants", type: @type, query: @query, filters: @filters)&.body&.dig("data")
end

Instance Method Details

#available_filtersObject



21
22
23
# File 'lib/zaikio/procurement/variant_search.rb', line 21

def available_filters
  @response["available_filters"]
end

#resultsObject



17
18
19
# File 'lib/zaikio/procurement/variant_search.rb', line 17

def results
  @response["results"].collect { |variant| Zaikio::Procurement::Variant.new(variant) }
end