class Ddr::Index::QueryResult
Constants
- PAGE_SIZE
Public Instance Methods
all()
click to toggle source
# File lib/ddr/index/query_result.rb, line 76 def all to_a end
docs()
click to toggle source
# File lib/ddr/index/query_result.rb, line 53 def docs Enumerator.new do |e| each do |doc| e << DocumentBuilder.build(doc) end end end
each(&block)
click to toggle source
# File lib/ddr/index/query_result.rb, line 9 def each(&block) if params[:rows] each_unpaginated(&block) else each_paginated(&block) end end
each_id(&block)
click to toggle source
# File lib/ddr/index/query_result.rb, line 49 def each_id(&block) ids.each(&block) end
each_paginated(&block)
click to toggle source
# File lib/ddr/index/query_result.rb, line 21 def each_paginated(&block) pages.each { |pg| pg.each(&block) } end
each_pid(&block)
click to toggle source
# File lib/ddr/index/query_result.rb, line 41 def each_pid(&block) Deprecation.warn(QueryResult, "`each_pid` is deprecated; use `each_id` instead." \ " (called from #{caller.first})" ) each_id(&block) end
each_unpaginated(&block)
click to toggle source
# File lib/ddr/index/query_result.rb, line 17 def each_unpaginated(&block) Connection.select(params).docs.each(&block) end
facet_fields()
click to toggle source
# File lib/ddr/index/query_result.rb, line 69 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
ids()
click to toggle source
# File lib/ddr/index/query_result.rb, line 33 def ids Enumerator.new do |e| each do |doc| e << doc[Fields::ID] end end end
objects()
click to toggle source
# File lib/ddr/index/query_result.rb, line 61 def objects Enumerator.new do |e| each_id do |id| e << ActiveFedora::Base.find(id) end end end
page(num)
click to toggle source
# File lib/ddr/index/query_result.rb, line 94 def page(num) data = params.dup page_size = data.delete(:rows) || PAGE_SIZE opts = { method: :post, data: data } response = Connection.page(num, page_size, 'select', opts) response.docs end
pages()
click to toggle source
# File lib/ddr/index/query_result.rb, line 80 def pages num = 1 Enumerator.new do |e| loop do pg = page(num) e << pg unless pg.has_next? break end num += 1 end end end
pids()
click to toggle source
# File lib/ddr/index/query_result.rb, line 25 def pids Deprecation.warn(QueryResult, "`pids` is deprecated; use `ids` instead." \ " (called from #{caller.first})" ) ids end