class Proxy::Omaha::ReleaseProvider

Attributes

track[RW]

Public Class Methods

new(options) click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 13
def initialize(options)
  @track = options.fetch(:track)
end

Public Instance Methods

fetch_releases() click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 21
def fetch_releases
  releases = http_request.get("https://#{track}.release.core-os.net/amd64-usr/")
  xml = Nokogiri::HTML(releases)
  parsed = (xml.xpath('//a/text()').map(&:to_s) - ['current']).map do |v|
    Proxy::Omaha::Release.new(:version => v, :track => track)
  end.sort
  logger.debug "Fetched releases for #{track}: #{parsed.map(&:to_s).join(', ')}"
  parsed
end
releases() click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 17
def releases
  @releases ||= fetch_releases
end

Private Instance Methods

http_request() click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 33
def http_request
  @http_request ||= ::Proxy::Omaha::HttpRequest.new
end