class Ddr::Index::QueryResult

Constants

PAGE_SIZE

Public Instance Methods

all() click to toggle source
# File lib/ddr/index/query_result.rb, line 55
def all
  to_a
end
docs() click to toggle source
# File lib/ddr/index/query_result.rb, line 47
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 43
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 38
def each_pid(&block)
  Deprecation.warn(QueryResult, "`each_pid` is deprecated; use `each_id` instead.")
  each_id(&block)
end
each_unpaginated(&block) click to toggle source
# File lib/ddr/index/query_result.rb, line 17
def each_unpaginated(&block)
  conn.select(params).docs.each(&block)
end
ids() click to toggle source
# File lib/ddr/index/query_result.rb, line 30
def ids
  Enumerator.new do |e|
    each do |doc|
      e << doc[Fields::ID]
    end
  end
end
page(num) click to toggle source
# File lib/ddr/index/query_result.rb, line 73
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.docs
end
pages() click to toggle source
# File lib/ddr/index/query_result.rb, line 59
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.")
  ids
end