Module: Polisher::Git::PkgVersions::ClassMethods

Defined in:
lib/polisher/git/pkg/versions.rb

Instance Method Summary collapse

Instance Method Details

#versions_for(name, &bl) ⇒ Array<String>

Retrieve list of the versions of the specified package in git

Parameters:

  • name (String)

    name of package to lookup

  • bl (Callable)

    optional block to invoke with version retrieved

Returns:

  • (Array<String>)

    versions retrieved, or empty array if none found



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'lib/polisher/git/pkg/versions.rb', line 21

def versions_for(name, &bl)
  gitpkg = new :name => name
  gitpkg.url = "#{dist_git_url}#{gitpkg.rpm_name}.git"
  versions = []
  fetch_tgts.each do |tgt|
    begin
      gitpkg.fetch tgt
      versions << gitpkg.spec.version
    rescue => e
      logger.warn "error retrieving #{name} from #{gitpkg.url}/#{tgt}(distgit): #{e}"
    end
  end

  bl.call(:git, name, versions) unless bl.nil?
  versions
end