class GdsApi::Search
def search_enum(args, page_size: 100, additional_headers: {})
- See: https://github.com/alphagov/search-api/blob/master/docs/search-api.md -
Parameters:
-
page_size
(Integer
) -- Number of results in each page. -
args
(Hash
) -- A valid search query. See search-api documentation for options.
def search_enum(args, page_size: 100, additional_headers: {}) Enumerator.new do |yielder| (0..Float::INFINITY).step(page_size).each do |index| search_params = args.merge(start: index.to_i, count: page_size) results = search(search_params, additional_headers).to_h.fetch("results", []) results.each do |result| yielder << result end if results.count < page_size break end end end end