Sha256: d6c2128d6ca72df746205ea0ad76e1435a85b6e72c5adc195d5c1d5ed432f673

Contents?: true

Size: 1.38 KB

Versions: 54

Compression:

Stored size: 1.38 KB

Contents

module CurationConcerns
  class EmbargoService < RestrictionService
    class << self
      #
      # Methods for Querying Repository to find Embargoed Objects
      #

      # Returns all assets with embargo release date set to a date in the past
      def assets_with_expired_embargoes
        builder = CurationConcerns::ExpiredEmbargoSearchBuilder.new(self)
        presenters(builder)
      end

      # Returns all assets with embargo release date set
      #   (assumes that when lease visibility is applied to assets
      #    whose leases have expired, the lease expiration date will be removed from its metadata)
      def assets_under_embargo
        builder = CurationConcerns::EmbargoSearchBuilder.new(self)
        presenters(builder)
      end

      # Returns all assets that have had embargoes deactivated in the past.
      def assets_with_deactivated_embargoes
        builder = CurationConcerns::DeactivatedEmbargoSearchBuilder.new(self)
        presenters(builder)
      end

      private

        def presenter_class
          CurationConcerns::EmbargoPresenter
        end

        def presenters(builder)
          response = repository.search(builder)
          response.documents.map { |d| presenter_class.new(d) }
        end

        def repository
          config.repository
        end

        def config
          @config ||= ::CatalogController.new
        end
    end
  end
end

Version data entries

54 entries across 54 versions & 1 rubygems

Version Path
curation_concerns-1.7.0.beta1 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.6.3 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.6.2 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.6.1 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.6.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.5.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.4.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.3.3 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.3.2 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.3.1 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.3.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.2.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.1.2 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.1.1 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.1.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.0.0 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.0.0.beta10 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.0.0.beta9 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.0.0.beta8 app/services/curation_concerns/embargo_service.rb
curation_concerns-1.0.0.beta7 app/services/curation_concerns/embargo_service.rb