class Proxy::Omaha::ReleaseRepository

Attributes

contentpath[R]
distribution[R]

Public Class Methods

new(options) click to toggle source
# File lib/smart_proxy_omaha/release_repository.rb, line 8
def initialize(options)
  @contentpath = options.fetch(:contentpath)
  @distribution = options.fetch(:distribution)
end

Public Instance Methods

architectures(track) click to toggle source
# File lib/smart_proxy_omaha/release_repository.rb, line 30
def architectures(track)
  Dir.glob(File.join(contentpath, track, '*')).select {|f| File.directory? f }.map { |f| File.basename(f) }
end
latest_os(track, architecture) click to toggle source
# File lib/smart_proxy_omaha/release_repository.rb, line 34
def latest_os(track, architecture)
  releases(track, architecture).max
end
releases(track, architecture) click to toggle source
# File lib/smart_proxy_omaha/release_repository.rb, line 13
def releases(track, architecture)
  Dir.glob(File.join(contentpath, track, architecture, '*')).select do |f|
    File.directory?(f) && ! File.symlink?(f)
  end.map do |f|
    Proxy::Omaha::Release.new(
      :distribution => distribution,
      :track => track,
      :architecture => architecture,
      :version => File.basename(f)
    )
  end
end
tracks() click to toggle source
# File lib/smart_proxy_omaha/release_repository.rb, line 26
def tracks
  Dir.glob(File.join(contentpath, '*')).select {|f| File.directory? f }.map { |f| File.basename(f) }
end