class Ki::Version
Combines version's information from all different repositories @see Component
@see Repository::Version
@see Repository::Component
@see VersionIterator
@see RepositoryFinder
@see FileFinder
@see VersionMetadataFile
@see VersionStatusFile
Public Class Methods
create_version(file, binary_directory=nil)
click to toggle source
Initializes a Version
and Repository::Version
for files non-imported files
-
works for testing and showing
# File lib/data_access/repository_info.rb, line 89 def self.create_version(file, binary_directory=nil) dir = File.dirname(file) if dir == "." dir = Dir.pwd end version = Version.new repo_ver = Repository::Version.new(dir) repo_ver.metadata = VersionMetadataFile.new(File.basename(file)).parent(repo_ver) version.versions=[repo_ver] if binary_directory version.binaries = DirectoryBase.new(binary_directory) end version end
Public Instance Methods
collect_statuses()
click to toggle source
collects all statuses related to this version
# File lib/data_access/repository_info.rb, line 60 def collect_statuses ret = [] versions.each do |v| s = v.statuses if s.exists? v.statuses.each do |status| ret << [status["key"], status["value"]] end end end ret end
exists?()
click to toggle source
# File lib/data_access/repository_info.rb, line 83 def exists? metadata || binaries end
find_binaries()
click to toggle source
finds first Repository::Version
directory for this version that contains binaries
# File lib/data_access/repository_info.rb, line 38 def find_binaries finder.all_repositories.each do |package_root| binary_dir = package_root.go(version_id) if binary_dir.exists? return binary_dir end end nil end
find_files(*file_patterns)
click to toggle source
finds files from this version (recursive)
# File lib/data_access/repository_info.rb, line 79 def find_files(*file_patterns) FileFinder.new.version(self).files(file_patterns) end
find_metadata()
click to toggle source
finds first Repository::Version
directory that contains metadata
# File lib/data_access/repository_info.rb, line 49 def find_metadata versions.each do |v| m = v.metadata if m.exists? return m end end nil end
version_iterator()
click to toggle source
finds all versions referenced by this version
# File lib/data_access/repository_info.rb, line 74 def version_iterator VersionIterator.new.version(self) end