Class: Actions::Pulp3::ContentView::DeleteRepositoryReferences
- Inherits:
-
AbstractAsyncTask
- Object
- EntryAction
- Abstract
- AbstractAsyncTask
- Actions::Pulp3::ContentView::DeleteRepositoryReferences
- Defined in:
- app/lib/actions/pulp3/content_view/delete_repository_references.rb
Instance Method Summary collapse
-
#delete_href?(href, content_view) ⇒ Boolean
migrated composites may have the same RepositoryReference as their component.
- #invoke_external_task ⇒ Object
- #plan(content_view, smart_proxy) ⇒ Object
Methods inherited from AbstractAsyncTask
#cancel, #cancel!, #combined_tasks, #done?, #external_task, #humanized_state, #new_or_existing_objects, #pulp_tasks, #rescue_external_task, #run, #task_groups
Methods inherited from Abstract
Instance Method Details
#delete_href?(href, content_view) ⇒ Boolean
migrated composites may have the same RepositoryReference as their component
29 30 31 |
# File 'app/lib/actions/pulp3/content_view/delete_repository_references.rb', line 29 def delete_href?(href, content_view) ::Katello::Pulp3::RepositoryReference.where(:repository_href => href).where.not(:content_view_id => content_view.id).empty? end |
#invoke_external_task ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/lib/actions/pulp3/content_view/delete_repository_references.rb', line 11 def invoke_external_task tasks = [] content_view = ::Katello::ContentView.find(input[:content_view_id]) to_delete = content_view.repository_references.select do |repository_reference| repo = repository_reference.root_repository.library_instance if delete_href?(repository_reference.repository_href, content_view) tasks << repo.backend_service(smart_proxy).delete_repository(repository_reference) true else false end end to_delete.each(&:destroy) output[:pulp_tasks] = tasks end |
#plan(content_view, smart_proxy) ⇒ Object
5 6 7 8 9 |
# File 'app/lib/actions/pulp3/content_view/delete_repository_references.rb', line 5 def plan(content_view, smart_proxy) if content_view.repository_references.any? plan_self(:content_view_id => content_view.id, :smart_proxy_id => smart_proxy.id) end end |