Class: Katello::Rpm
- Includes:
- Concerns::PulpDatabaseUnit
- Defined in:
- app/models/katello/rpm.rb
Constant Summary collapse
- CONTENT_TYPE =
Pulp::Rpm::CONTENT_TYPE
Class Method Summary collapse
- .default_sort ⇒ Object
- .repository_association_class ⇒ Object
- .search_version_equal(version) ⇒ Object
- .search_version_range(min = nil, max = nil) ⇒ Object
- .total_for_repositories(repos) ⇒ Object
Instance Method Summary collapse
Methods included from Concerns::PulpDatabaseUnit
Methods inherited from Model
Class Method Details
.default_sort ⇒ Object
21 22 23 |
# File 'app/models/katello/rpm.rb', line 21 def self.default_sort order(:name).order(:epoch).order(:version_sortable).order(:release_sortable) end |
.repository_association_class ⇒ Object
25 26 27 |
# File 'app/models/katello/rpm.rb', line 25 def self.repository_association_class RepositoryRpm end |
.search_version_equal(version) ⇒ Object
36 37 38 |
# File 'app/models/katello/rpm.rb', line 36 def self.search_version_equal(version) Katello::Util::PackageFilter.new(self, version, Katello::Util::PackageFilter::EQUAL).results end |
.search_version_range(min = nil, max = nil) ⇒ Object
29 30 31 32 33 34 |
# File 'app/models/katello/rpm.rb', line 29 def self.search_version_range(min = nil, max = nil) query = self.all query = Katello::Util::PackageFilter.new(query, min, Katello::Util::PackageFilter::GREATER_THAN).results if min query = Katello::Util::PackageFilter.new(query, max, Katello::Util::PackageFilter::LESS_THAN).results if max query end |
.total_for_repositories(repos) ⇒ Object
50 51 52 |
# File 'app/models/katello/rpm.rb', line 50 def self.total_for_repositories(repos) self.in_repositories(repos).uniq.count end |
Instance Method Details
#nvra ⇒ Object
58 59 60 |
# File 'app/models/katello/rpm.rb', line 58 def nvra Util::Package.build_nvra(self.as_json.with_indifferent_access) end |
#nvrea ⇒ Object
54 55 56 |
# File 'app/models/katello/rpm.rb', line 54 def nvrea Util::Package.build_nvrea(self.as_json.with_indifferent_access, false) end |
#update_from_json(json) ⇒ Object
40 41 42 43 44 45 46 47 48 |
# File 'app/models/katello/rpm.rb', line 40 def update_from_json(json) keys = Pulp::Rpm::PULP_INDEXED_FIELDS - ['_id'] custom_json = json.clone.delete_if { |key, _value| !keys.include?(key) } if custom_json.any? { |name, value| self.send(name) != value } custom_json[:release_sortable] = Util::Package.sortable_version(custom_json[:release]) custom_json[:version_sortable] = Util::Package.sortable_version(custom_json[:version]) self.update_attributes!(custom_json) end end |