Sha256: 5421285e4bb6e153ec97948a90ebd57f1f579dafa05f3f516817bb7fad294c3a

Contents?: true

Size: 1014 Bytes

Versions: 23

Compression:

Stored size: 1014 Bytes

Contents

module Katello
  class HostDebPresenter < SimpleDelegator
    attr_accessor :installed_package, :upgradable_versions, :deb_id

    def initialize(installed_package, upgradable_versions, deb_id)
      @installed_package = installed_package
      @upgradable_versions = upgradable_versions
      @deb_id = deb_id
      super(@installed_package)
    end

    def self.with_latest(packages, host)
      upgradable_packages_map = ::Katello::Deb.installable_for_hosts([host]).select(:id, :name, :architecture, :version).order(version: :desc).group_by { |i| [i.name, i.architecture] }
      installed_packages_map = ::Katello::Deb.where(version: packages.map(&:version)).select(:id, :architecture, :name).group_by { |i| [i.name, i.architecture] }

      packages.map do |p|
        upgrades = upgradable_packages_map[[p.name, p.architecture]]&.pluck(:version)
        installed = installed_packages_map[[p.name, p.architecture]]&.first&.id
        HostDebPresenter.new(p, upgrades, installed)
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
katello-4.16.0 app/presenters/katello/host_deb_presenter.rb
katello-4.15.1 app/presenters/katello/host_deb_presenter.rb
katello-4.16.0.rc2 app/presenters/katello/host_deb_presenter.rb
katello-4.16.0.rc1 app/presenters/katello/host_deb_presenter.rb
katello-4.14.3 app/presenters/katello/host_deb_presenter.rb
katello-4.14.2 app/presenters/katello/host_deb_presenter.rb
katello-4.15.0 app/presenters/katello/host_deb_presenter.rb
katello-4.15.0.rc2 app/presenters/katello/host_deb_presenter.rb
katello-4.15.0.rc1 app/presenters/katello/host_deb_presenter.rb
katello-4.14.1 app/presenters/katello/host_deb_presenter.rb
katello-4.14.0 app/presenters/katello/host_deb_presenter.rb
katello-4.14.0.rc3 app/presenters/katello/host_deb_presenter.rb
katello-4.14.0.rc2 app/presenters/katello/host_deb_presenter.rb
katello-4.14.0.rc1.1 app/presenters/katello/host_deb_presenter.rb
katello-4.14.0.rc1 app/presenters/katello/host_deb_presenter.rb
katello-4.13.1 app/presenters/katello/host_deb_presenter.rb
katello-4.13.0 app/presenters/katello/host_deb_presenter.rb
katello-4.12.1 app/presenters/katello/host_deb_presenter.rb
katello-4.13.0.rc1 app/presenters/katello/host_deb_presenter.rb
katello-4.12.0 app/presenters/katello/host_deb_presenter.rb