Class: Actions::Katello::Applicability::Repository::Regenerate

Inherits:
EntryAction
  • Object
show all
Defined in:
app/lib/actions/katello/applicability/repository/regenerate.rb

Instance Method Summary collapse

Instance Method Details

#humanized_nameObject



24
25
26
# File 'app/lib/actions/katello/applicability/repository/regenerate.rb', line 24

def humanized_name
  _("Generate repository applicability")
end

#runObject



10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'app/lib/actions/katello/applicability/repository/regenerate.rb', line 10

def run
  repos = ::Katello::Repository.where(:id => input[:repo_ids]).select do |repo|
    repo.last_contents_changed >= repo.last_applicability_regen
  end

  if repos.any?
    host_ids = ::Katello::RootRepository.where(:id => repos.map(&:root_id)).hosts_with_applicability.pluck(:id)
    ::Katello::Host::ContentFacet.trigger_applicability_generation(host_ids) unless host_ids.empty?

    ::Katello::Repository.where(:id => repos.map(&:id)).update_all(:last_applicability_regen => DateTime.now)
  end
  output[:regenerated => repos.map(&:id)]
end