Class: ReactorSDK::Endpoints::Search

Inherits:
BaseEndpoint show all
Defined in:
lib/reactor_sdk/endpoints/search.rb

Instance Method Summary collapse

Methods inherited from BaseEndpoint

#initialize

Constructor Details

This class inherits a constructor from ReactorSDK::Endpoints::BaseEndpoint

Instance Method Details

#perform(query:, from: nil, size: nil, sort: nil, resource_types: nil) ⇒ Object Also known as: query



6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'lib/reactor_sdk/endpoints/search.rb', line 6

def perform(query:, from: nil, size: nil, sort: nil, resource_types: nil)
  payload = { query: query }
  payload[:from] = from unless from.nil?
  payload[:size] = size unless size.nil?
  payload[:sort] = sort unless sort.nil?
  payload[:resource_types] = resource_types unless resource_types.nil?

  response = @connection.post('/search', payload)
  Resources::SearchResults.new(
    results: @parser.parse_many_auto(response['data']),
    meta: response.fetch('meta', {})
  )
end