class Proxy::Omaha::ReleaseProvider
Attributes
architecture[RW]
track[RW]
Public Class Methods
new(options)
click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 14 def initialize(options) @track = options.fetch(:track) @architecture = options.fetch(:architecture, 'amd64-usr') end
Public Instance Methods
fetch_releases()
click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 23 def fetch_releases releases = http_request.get("https://#{track}.release.core-os.net/#{architecture}/") xml = Nokogiri::HTML(releases) parsed = (xml.xpath('//a/text()').map(&:to_s) - ['current']).map do |v| Proxy::Omaha::Release.new(:version => v, :track => track, :architecture => architecture) end.sort logger.debug "Fetched releases for #{architecture}/#{track}: #{parsed.map(&:to_s).join(', ')}" parsed end
releases()
click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 19 def releases @releases ||= fetch_releases end
Private Instance Methods
http_request()
click to toggle source
# File lib/smart_proxy_omaha/release_provider.rb, line 35 def http_request @http_request ||= ::Proxy::Omaha::HttpRequest.new end