Class: Hyrax::Actors::LeaseActor
- Inherits:
-
Object
- Object
- Hyrax::Actors::LeaseActor
- Defined in:
- app/actors/hyrax/actors/lease_actor.rb
Instance Attribute Summary collapse
-
#work ⇒ Object
readonly
Returns the value of attribute work.
Instance Method Summary collapse
-
#destroy ⇒ Object
Update the visibility of the work to match the correct state of the lease, then clear the lease date, etc.
-
#initialize(work) ⇒ LeaseActor
constructor
A new instance of LeaseActor.
Constructor Details
#initialize(work) ⇒ LeaseActor
Returns a new instance of LeaseActor.
8 9 10 |
# File 'app/actors/hyrax/actors/lease_actor.rb', line 8 def initialize(work) @work = work end |
Instance Attribute Details
#work ⇒ Object (readonly)
Returns the value of attribute work.
5 6 7 |
# File 'app/actors/hyrax/actors/lease_actor.rb', line 5 def work @work end |
Instance Method Details
#destroy ⇒ Object
Update the visibility of the work to match the correct state of the lease, then clear the lease date, etc. Saves the lease and the work
14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/actors/hyrax/actors/lease_actor.rb', line 14 def destroy case work when Valkyrie::Resource lease_manager = Hyrax::LeaseManager.new(resource: work) lease_manager.release && Hyrax::AccessControlList(work).save lease_manager.nullify else work.lease_visibility! # If the lease has lapsed, update the current visibility. work.deactivate_lease! work.lease.save! work.save! end end |