class Fig::PackageCache

Simple double-level (name, version) cache of Packages.

Public Class Methods

new() click to toggle source
# File lib/fig/package_cache.rb, line 7
def initialize()
  @packages = {}
end

Public Instance Methods

add_package(package) click to toggle source
# File lib/fig/package_cache.rb, line 11
def add_package(package)
  versions = @packages[package.name]
  if not versions
    versions = {}
    @packages[package.name] = versions
  end

  versions[package.version] = package

  return
end
get_any_version_of_package(name) click to toggle source

Don't care which one, just gimme.

# File lib/fig/package_cache.rb, line 31
def get_any_version_of_package(name)
  versions = @packages[name]
  return if not versions

  return versions.values.first()
end
get_package(name, version) click to toggle source
# File lib/fig/package_cache.rb, line 23
def get_package(name, version)
  versions = @packages[name]
  return if not versions

  return versions[version]
end
remove_package(name, version) click to toggle source
# File lib/fig/package_cache.rb, line 38
def remove_package(name, version)
  versions = @packages[name]
  return if not versions

  versions.delete(version)

  return
end