lib/ddr/index/query_result.rb in ddr-models-2.4.12 vs lib/ddr/index/query_result.rb in ddr-models-2.4.13

- old
+ new

@@ -1,7 +1,8 @@ module Ddr::Index class QueryResult < AbstractQueryResult + extend Deprecation PAGE_SIZE = 1000 delegate :csv, to: :query @@ -12,37 +13,68 @@ each_paginated(&block) end end def each_unpaginated(&block) - conn.select(params).docs.each(&block) + Connection.select(params).docs.each(&block) end def each_paginated(&block) pages.each { |pg| pg.each(&block) } end def pids + Deprecation.warn(QueryResult, + "`pids` is deprecated; use `ids` instead." \ + " (called from #{caller.first})" + ) + ids + end + + def ids Enumerator.new do |e| each do |doc| - e << doc[Fields::PID] + e << doc[Fields::ID] end end end def each_pid(&block) - pids.each(&block) + Deprecation.warn(QueryResult, + "`each_pid` is deprecated; use `each_id` instead." \ + " (called from #{caller.first})" + ) + each_id(&block) end + def each_id(&block) + ids.each(&block) + end + def docs Enumerator.new do |e| each do |doc| e << DocumentBuilder.build(doc) end end end + def objects + Enumerator.new do |e| + each_id do |id| + e << ActiveFedora::Base.find(id) + end + end + end + + def facet_fields + response = Connection.select(params, rows: 0) + response.facet_fields.each_with_object({}) do |(field, values), memo| + memo[field] = Hash[*values] + end + end + def all to_a end def pages @@ -60,10 +92,10 @@ end def page(num) page_params = params.dup page_size = page_params.delete(:rows) || PAGE_SIZE - response = conn.page num, page_size, "select", params: page_params + response = Connection.page(num, page_size, "select", params: page_params) response.docs end end end