Class: Ddr::Managers::WorkflowManager
- Inherits:
-
Manager
- Object
- Manager
- Ddr::Managers::WorkflowManager
show all
- Defined in:
- lib/ddr/managers/workflow_manager.rb
Constant Summary
collapse
- PUBLISHED =
"published"
- UNPUBLISHED =
"unpublished"
Instance Attribute Summary
Attributes inherited from Manager
#object
Instance Method Summary
collapse
Methods inherited from Manager
#initialize
Instance Method Details
#publish!(include_descendants: true) ⇒ Object
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/ddr/managers/workflow_manager.rb', line 16
def publish!(include_descendants: true)
unless published?
publish
object.save!
end
if include_descendants && object.respond_to?(:children)
solr_results = object.children(response_format: :solr)
ActiveFedora::SolrService.lazy_reify_solr_results(solr_results).each do |child|
child.publish!(include_descendants: include_descendants)
end
end
end
|
#published? ⇒ Boolean
8
9
10
|
# File 'lib/ddr/managers/workflow_manager.rb', line 8
def published?
object.workflow_state == PUBLISHED
end
|
#unpublish! ⇒ Object
29
30
31
32
33
34
35
36
37
|
# File 'lib/ddr/managers/workflow_manager.rb', line 29
def unpublish!
if published?
unpublish
object.save!
end
if object.respond_to?(:children)
object.children.each { |child| child.unpublish! }
end
end
|
#unpublished? ⇒ Boolean
12
13
14
|
# File 'lib/ddr/managers/workflow_manager.rb', line 12
def unpublished?
object.workflow_state == UNPUBLISHED
end
|