Class: Katello::HostPackagePresenter
- Inherits:
-
SimpleDelegator
- Object
- SimpleDelegator
- Katello::HostPackagePresenter
- Defined in:
- app/presenters/katello/host_package_presenter.rb
Instance Attribute Summary collapse
-
#installed_package ⇒ Object
Returns the value of attribute installed_package.
-
#rpm_id ⇒ Object
Returns the value of attribute rpm_id.
-
#upgradable_versions ⇒ Object
Returns the value of attribute upgradable_versions.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(installed_package, upgradable_versions, rpm_id) ⇒ HostPackagePresenter
constructor
A new instance of HostPackagePresenter.
Constructor Details
#initialize(installed_package, upgradable_versions, rpm_id) ⇒ HostPackagePresenter
Returns a new instance of HostPackagePresenter.
5 6 7 8 9 10 |
# File 'app/presenters/katello/host_package_presenter.rb', line 5 def initialize(installed_package, upgradable_versions, rpm_id) @installed_package = installed_package @upgradable_versions = upgradable_versions @rpm_id = rpm_id super(@installed_package) end |
Instance Attribute Details
#installed_package ⇒ Object
Returns the value of attribute installed_package.
3 4 5 |
# File 'app/presenters/katello/host_package_presenter.rb', line 3 def installed_package @installed_package end |
#rpm_id ⇒ Object
Returns the value of attribute rpm_id.
3 4 5 |
# File 'app/presenters/katello/host_package_presenter.rb', line 3 def rpm_id @rpm_id end |
#upgradable_versions ⇒ Object
Returns the value of attribute upgradable_versions.
3 4 5 |
# File 'app/presenters/katello/host_package_presenter.rb', line 3 def upgradable_versions @upgradable_versions end |
Class Method Details
.with_latest(packages, host) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'app/presenters/katello/host_package_presenter.rb', line 12 def self.with_latest(packages, host) upgradable_packages_map = ::Katello::Rpm.installable_for_hosts([host]).select(:id, :name, :nvra, :evr).order(evr: :desc).all.group_by(&:name) installed_packages_map = ::Katello::Rpm.where(nvra: packages.map(&:nvra)).select(:id, :name).group_by(&:name) packages.map do |p| HostPackagePresenter.new(p, upgradable_packages_map[p.name]&.pluck(:nvra), installed_packages_map[p.name]&.first&.id) end end |