Sha256: b16850fb407435369390805936cc9a7f26e24f428d2b377051f6bc5c821fb5e8

Contents?: true

Size: 1003 Bytes

Versions: 32

Compression:

Stored size: 1003 Bytes

Contents

module CurationConcerns
  class WorkRelation < ActiveFedora::Relation
    def initialize(opts = {})
      super(DummyModel, opts)
    end

    def equivalent_class?(klass)
      CurationConcerns.config.curation_concerns.include?(klass)
    end

    def search_model_clause
      clauses = CurationConcerns.config.curation_concerns.map do |k|
        ActiveFedora::SolrQueryBuilder.construct_query_for_rel(has_model: k.to_s)
      end
      clauses.size == 1 ? clauses.first : "(#{clauses.join(' OR ')})"
    end

    class DummyModel
      def self.primary_concern
        CurationConcerns.config.curation_concerns.first
      end

      def self.delegated_attributes
        primary_concern.delegated_attributes
      end

      def self.solr_query_handler
        primary_concern.solr_query_handler
      end

      def self.default_sort_params
        primary_concern.default_sort_params
      end

      def self.id_to_uri(*args)
        primary_concern.id_to_uri(*args)
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
curation_concerns-1.7.8 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.7 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-2.0.0 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-2.0.0.rc2 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.6 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.5 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.4 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.3 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.2 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-2.0.0.rc1 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.1 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.0 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.7.0.beta1 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.6.3 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.6.2 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.6.1 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.6.0 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.5.0 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.4.0 app/search_builders/curation_concerns/work_relation.rb
curation_concerns-1.3.3 app/search_builders/curation_concerns/work_relation.rb