module ActiveFedora::Aggregation::BaseExtension

Public Instance Methods

ordered_by() click to toggle source
# File lib/active_fedora/aggregation/base_extension.rb, line 3
def ordered_by
  ordered_by_ids.lazy.map { |x| ActiveFedora::Base.find(x) }
end

Private Instance Methods

ordered_by_ids() click to toggle source
# File lib/active_fedora/aggregation/base_extension.rb, line 9
def ordered_by_ids
  if id.present?
    query = "{!join from=proxy_in_ssi to=id}ordered_targets_ssim:#{id}"
    rows = ActiveFedora::SolrService::MAX_ROWS
    ActiveFedora::SolrService.query(query, rows: rows).map { |x| x["id"] }
  else
    []
  end
end