Sha256: ac3a274531552aea05818fc3bc4858bd7574c21c1520759e4aae0e40d40ec319

Contents?: true

Size: 1006 Bytes

Versions: 12

Compression:

Stored size: 1006 Bytes

Contents

# frozen_string_literal: true
class Blacklight::Solr::Response::GroupResponse

  include Blacklight::Solr::Response::PaginationMethods

  attr_reader :key, :group, :response

  def initialize key, group, response
    @key = key
    @group = group
    @response = response
  end

  alias_method :group_field, :key

  def groups
    @groups ||= group["groups"].map do |g|
      Blacklight::Solr::Response::Group.new g[:groupValue], g, self
    end
  end

  def group_limit
    params.fetch(:'group.limit', 1).to_s.to_i
  end

  def total
    # ngroups is only available in Solr 4.1+
    # fall back on the number of facet items for that field?
    (group["ngroups"] || (response.aggregations[key] || []).length).to_s.to_i
  end
    
  def start
    params[:start].to_s.to_i
  end

  def method_missing meth, *args, &block

    if response.respond_to? meth
      response.send(meth, *args, &block)
    else
      super
    end

  end

  def respond_to? meth
    response.respond_to?(meth) || super
  end

end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
blacklight-6.5.0 lib/blacklight/solr/response/group_response.rb
blacklight-6.4.2 lib/blacklight/solr/response/group_response.rb
blacklight-6.4.1 lib/blacklight/solr/response/group_response.rb
blacklight-6.4.0 lib/blacklight/solr/response/group_response.rb
blacklight-6.3.3 lib/blacklight/solr/response/group_response.rb
blacklight-6.3.1 lib/blacklight/solr/response/group_response.rb
blacklight-6.3.0 lib/blacklight/solr/response/group_response.rb
blacklight-6.2.0 lib/blacklight/solr/response/group_response.rb
blacklight-6.1.0 lib/blacklight/solr/response/group_response.rb
blacklight-6.0.2 lib/blacklight/solr/response/group_response.rb
blacklight-6.0.1 lib/blacklight/solr/response/group_response.rb
blacklight-6.0.0 lib/blacklight/solr/response/group_response.rb