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



36
37
38
# File 'lib/dor/models/concerns/embargoable.rb', line 36

def embargo_service
  EmbargoService.new(self)
end

#embargoed?Boolean

Returns:

  • (Boolean)


27
28
29
# File 'lib/dor/models/concerns/embargoable.rb', line 27

def embargoed?
  .status == 'embargoed'
end

#release_20_pct_vis_embargo(release_agent = 'unknown') ⇒ Object



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

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



31
32
33
# File 'lib/dor/models/concerns/embargoable.rb', line 31

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