Module: Dor::Embargoable

Extended by:
ActiveSupport::Concern
Included in:
Etd, Item
Defined in:
lib/dor/models/concerns/embargoable.rb

Overview

Time limits and processes for embargoed materials.

Instance Method Summary collapse

Instance Method Details

#embargo_serviceObject



33
34
35
# File 'lib/dor/models/concerns/embargoable.rb', line 33

def embargo_service
  EmbargoService.new(self)
end

#embargoed?Boolean

Returns:

  • (Boolean)


25
26
27
# File 'lib/dor/models/concerns/embargoable.rb', line 25

def embargoed?
  .status == 'embargoed'
end

#release_20_pct_vis_embargo(release_agent = 'unknown') ⇒ Object



21
22
23
# File 'lib/dor/models/concerns/embargoable.rb', line 21

def release_20_pct_vis_embargo(release_agent = 'unknown')
  embargo_service.release_20_pct_vis(release_agent)
end

#release_embargo(release_agent = 'unknown') ⇒ Object

Note:

The caller should save the object to fedora to commit the changes

Manipulates datastreams in the object when embargo is lifted: Sets embargo status to released in embargoMetadata Modifies rightsMetadata to remove embargoReleaseDate and updates/adds access from embargoMetadata/releaseAccess

Parameters:

  • release_agent (String) (defaults to: 'unknown')

    name of the person, application or thing that released embargo



17
18
19
# File 'lib/dor/models/concerns/embargoable.rb', line 17

def release_embargo(release_agent = 'unknown')
  embargo_service.release(release_agent)
end

#update_embargo(new_date) ⇒ Object



29
30
31
# File 'lib/dor/models/concerns/embargoable.rb', line 29

def update_embargo(new_date)
  embargo_service.update(new_date)
end