Class: VisibilityCopyWorker

Inherits:
Object
  • Object
show all
Defined in:
app/workers/visibility_copy_worker.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pid) ⇒ VisibilityCopyWorker

Returns a new instance of VisibilityCopyWorker.



8
9
10
# File 'app/workers/visibility_copy_worker.rb', line 8

def initialize(pid)
  self.pid = pid
end

Instance Attribute Details

#pidObject

Returns the value of attribute pid.



6
7
8
# File 'app/workers/visibility_copy_worker.rb', line 6

def pid
  @pid
end

Instance Method Details

#queue_nameObject



2
3
4
# File 'app/workers/visibility_copy_worker.rb', line 2

def queue_name
  :permissions
end

#runObject



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'app/workers/visibility_copy_worker.rb', line 12

def run
  work = ActiveFedora::Base.find(pid)
  work.generic_files.each do |file|
    # visibility must come first, because it can clear an embargo/lease
    file.visibility = work.visibility

    file.embargo_release_date = work.embargo_release_date
    file.visibility_during_embargo = work.visibility_during_embargo
    file.visibility_after_embargo = work.visibility_after_embargo

    file.lease_expiration_date = work.lease_expiration_date
    file.visibility_during_lease = work.visibility_during_lease
    file.visibility_after_lease = work.visibility_after_lease
    file.save!
  end
end