module Polisher::KojiVersions::ClassMethods
Public Instance Methods
has_build?(name, version)
click to toggle source
Return bool indiciating if koji has a build exactly matching the specified version
# File lib/polisher/targets/koji/versions.rb, line 15 def has_build?(name, version) versions = versions_for name versions.include?(version) end
has_build_satisfying?(name, version)
click to toggle source
Return bool indicating if koji has a build which satisfies the specified ruby dependency
# File lib/polisher/targets/koji/versions.rb, line 22 def has_build_satisfying?(name, version) dep = ::Gem::Dependency.new name, version versions_for(name).any? { |v| dep.match?(name, v) } end
tagged_version_for(name)
click to toggle source
# File lib/polisher/targets/koji/versions.rb, line 47 def tagged_version_for(name) versions = {} tagged_versions_for(name).each do |tag, tagged_versions| versions[tag] = tagged_versions.first end versions end
tagged_versions_for(name)
click to toggle source
# File lib/polisher/targets/koji/versions.rb, line 39 def tagged_versions_for(name) versions = {} koji_tags.each do |tag| versions[tag] = versions_for_tag(name, tag).flatten.uniq end versions end
versions_for(name, &bl)
click to toggle source
Retrieve list of the versions of the specified package in koji
@param [String] name name of package to lookup @param [Callable] bl optional block to invoke with versions retrieved @return [Array<String>] versions retrieved, empty array if none found
# File lib/polisher/targets/koji/versions.rb, line 32 def versions_for(name, &bl) # koji xmlrpc call versions = tagged_versions_for(name).values.flatten.uniq bl.call(:koji, name, versions) unless bl.nil? versions end
versions_for_tag(name, tag)
click to toggle source
# File lib/polisher/targets/koji/versions.rb, line 55 def versions_for_tag(name, tag) metadata = package_prefixes.collect do |prefix| # tag event inherit prefix latest client.call('listTagged', tag, nil, true, nil, false, "#{prefix}#{name}") end metadata.flatten.collect { |b| b['version'] }.uniq end