Sha256: e970fd12902379e05a1852c8f85be1e42c7e415e4c800246a6ec82c9e2b41e62

Contents?: true

Size: 1.21 KB

Versions: 36

Compression:

Stored size: 1.21 KB

Contents

module Hyrax
  # Responsible for retrieving admin set's members
  class AdminSetMemberService
    attr_reader :scope, :params, :collection
    delegate :repository, to: :scope

    # @param scope [#repository] Typically acontroller object which responds to :repository
    # @param [Collection] an collection of type admin set
    # @param [ActionController::Parameters] query params
    def initialize(scope:, collection:, params:)
      @scope = scope
      @collection = collection
      @params = params
    end

    # @api public
    #
    # All members of the given admin_set
    # @return [Blacklight::Solr::Response]
    def available_member_works
      query_solr(query_builder: members_search_builder, query_params: params)
    end

    private

      # @api public
      #
      # set up a member search builder admin set members
      # @return [AdminAdminSetMemberSearchBuilder] new or existing
      def members_search_builder
        @members_search_builder ||= Hyrax::AdminAdminSetMemberSearchBuilder.new(scope: scope, collection: collection)
      end

      # @api private
      #
      def query_solr(query_builder:, query_params:)
        repository.search(query_builder.with(query_params).query)
      end
  end
end

Version data entries

36 entries across 36 versions & 1 rubygems

Version Path
hyrax-2.9.6 app/services/hyrax/admin_set_member_service.rb
hyrax-2.9.5 app/services/hyrax/admin_set_member_service.rb
hyrax-2.9.4 app/services/hyrax/admin_set_member_service.rb
hyrax-2.9.3 app/services/hyrax/admin_set_member_service.rb
hyrax-2.9.2 app/services/hyrax/admin_set_member_service.rb
hyrax-2.9.1 app/services/hyrax/admin_set_member_service.rb
hyrax-2.9.0 app/services/hyrax/admin_set_member_service.rb
hyrax-2.8.0 app/services/hyrax/admin_set_member_service.rb
hyrax-2.7.2 app/services/hyrax/admin_set_member_service.rb
hyrax-2.7.1 app/services/hyrax/admin_set_member_service.rb
hyrax-2.7.0 app/services/hyrax/admin_set_member_service.rb
hyrax-2.6.0 app/services/hyrax/admin_set_member_service.rb
hyrax-3.0.0.pre.rc1 app/services/hyrax/admin_set_member_service.rb
hyrax-3.0.0.pre.beta3 app/services/hyrax/admin_set_member_service.rb
hyrax-2.5.1 app/services/hyrax/admin_set_member_service.rb
hyrax-2.5.0 app/services/hyrax/admin_set_member_service.rb
hyrax-3.0.0.pre.beta2 app/services/hyrax/admin_set_member_service.rb
hyrax-2.4.1 app/services/hyrax/admin_set_member_service.rb
hyrax-3.0.0.pre.beta1 app/services/hyrax/admin_set_member_service.rb
hyrax-2.4.0 app/services/hyrax/admin_set_member_service.rb