class Onboard::Release

Attributes

core[R]
doc[R]
feed[R]
project[R]

Public Class Methods

new(project, core) click to toggle source
# File lib/onboard/release.rb, line 13
def initialize(project, core)
  @core = core
  @project = project
  @doc = build_doc
end

Public Instance Methods

build_doc() click to toggle source
# File lib/onboard/release.rb, line 19
def build_doc
  feed = "#{DRUPAL_PRJ_FEED}#{project}/#{core}"
  Download.new.fetch(feed)
  xml = File.open(Download.new.path(feed))
  Nokogiri::XML(xml)
end
choose(version = '') click to toggle source
# File lib/onboard/release.rb, line 34
def choose(version = '')
  releases = releases_get
  if version.empty? == false
    return specify(version, releases)
  elsif releases['stable'].empty? == false
    return releases['stable'].first
  elsif releases['extra'].empty? == false
    return releases['extra'].first
  end
end
releases_get() click to toggle source
# File lib/onboard/release.rb, line 45
def releases_get
  releases = { 'stable' => {}, 'extra' => {} }
  doc.xpath('//releases//release').each do |item|
    md5 = item.at_xpath('mdhash').content
    version = item.at_xpath('version').content
    status = item.at_xpath('version_extra').nil? ? 'stable' : 'extra'
    releases[status][version] = md5
  end
  releases
end
specify(version, releases) click to toggle source
# File lib/onboard/release.rb, line 26
def specify(version, releases)
  if releases['stable'][version].nil? == false
    return version, releases['stable'][version]
  elsif releases['extra'][version].nil? == false
    return version, releases['extra'][version]
  end
end