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