Sha256: 772c9b30f2991a8c3dd2267a23ba4b739e3e5d46f8ea39c32850383bcede0e2f

Contents?: true

Size: 1.21 KB

Versions: 5

Compression:

Stored size: 1.21 KB

Contents

# frozen_string_literal: true
module Hyrax
  ##
  # Methods for Querying Repository to find Objects with leases
  class LeaseService < RestrictionService
    class << self
      # Returns all assets with lease expiration date set to a date in the past
      def assets_with_expired_enforced_leases
        builder = Hyrax::ExpiredLeaseSearchBuilder.new(self)
        presenters(builder)
      end
      alias assets_with_expired_leases assets_with_expired_enforced_leases

      ##
      # Returns all assets with leases that are currently enforced,
      # regardless of whether the leases are active or expired.
      #
      # @see Hyrax::LeaseManager
      def assets_with_enforced_leases
        builder = Hyrax::LeaseSearchBuilder.new(self)
        presenters(builder).select(&:enforced?)
      end
      alias assets_under_lease assets_with_enforced_leases

      # Returns all assets that have had embargoes deactivated in the past.
      def assets_with_deactivated_leases
        builder = Hyrax::DeactivatedLeaseSearchBuilder.new(self)
        presenters(builder)
      end

      def search_state_class
        nil
      end

      private

      def presenter_class
        Hyrax::LeasePresenter
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
hyrax-5.0.3 app/services/hyrax/lease_service.rb
hyrax-5.0.2 app/services/hyrax/lease_service.rb
hyrax-5.0.1 app/services/hyrax/lease_service.rb
hyrax-5.0.0 app/services/hyrax/lease_service.rb
hyrax-5.0.0.rc3 app/services/hyrax/lease_service.rb