class Polisher::Bodhi

fedora pkgwat provides a frontend to bodhi

Public Class Methods

versions_for(name, &bl) click to toggle source
# File lib/polisher/targets/bodhi.rb, line 17
def self.versions_for(name, &bl)
  require 'pkgwat'
  versions = Pkgwat.get_updates("rubygem-#{name}", 'all', 'all')
                   .select  { |update| update['stable_version']  != 'None' }
                   .collect { |update| update['stable_version'] }
  versions = sanitize(versions)
  bl.call(:bodhi, name, versions) unless bl.nil?
  versions
end

Private Class Methods

is_url?(version) click to toggle source
# File lib/polisher/targets/bodhi.rb, line 35
def self.is_url?(version)
  !Nokogiri::HTML(version).css('a').empty?
end
sanitize(versions) click to toggle source
# File lib/polisher/targets/bodhi.rb, line 29
def self.sanitize(versions)
  versions.collect { |v|
    is_url?(v) ? url2version(v) : v
  }
end
url2version(version) click to toggle source
# File lib/polisher/targets/bodhi.rb, line 39
def self.url2version(version)
  Nokogiri::HTML(version).text
end