Class: Ki::Version
Overview
Combines version’s information from all different repositories
Class Method Summary collapse
-
.create_version(file, binary_directory = nil) ⇒ Object
Initializes a Version and Repository::Version for files non-imported files * works for testing and showing.
Instance Method Summary collapse
-
#collect_statuses ⇒ Object
collects all statuses related to this version.
- #exists? ⇒ Boolean
-
#find_binaries ⇒ Object
finds first Repository::Version directory for this version that contains binaries.
-
#find_files(*file_patterns) ⇒ Object
finds files from this version (recursive).
-
#find_metadata ⇒ Object
finds first Repository::Version directory that contains metadata.
-
#version_iterator ⇒ Object
finds all versions referenced by this version.
Class Method Details
.create_version(file, binary_directory = nil) ⇒ Object
Initializes a Version and Repository::Version for files non-imported files
-
works for testing and showing
89 90 91 92 93 94 95 96 97 98 99 100 101 102 |
# 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. = VersionMetadataFile.new(File.basename(file)).parent(repo_ver) version.versions=[repo_ver] if binary_directory version.binaries = DirectoryBase.new(binary_directory) end version end |
Instance Method Details
#collect_statuses ⇒ Object
collects all statuses related to this version
60 61 62 63 64 65 66 67 68 69 70 71 |
# 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? ⇒ Boolean
83 84 85 |
# File 'lib/data_access/repository_info.rb', line 83 def exists? || binaries end |
#find_binaries ⇒ Object
finds first Repository::Version directory for this version that contains binaries
38 39 40 41 42 43 44 45 46 |
# 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) ⇒ Object
finds files from this version (recursive)
79 80 81 |
# File 'lib/data_access/repository_info.rb', line 79 def find_files(*file_patterns) FileFinder.new.version(self).files(file_patterns) end |
#find_metadata ⇒ Object
finds first Repository::Version directory that contains metadata
49 50 51 52 53 54 55 56 57 |
# File 'lib/data_access/repository_info.rb', line 49 def versions.each do |v| m = v. if m.exists? return m end end nil end |
#version_iterator ⇒ Object
finds all versions referenced by this version
74 75 76 |
# File 'lib/data_access/repository_info.rb', line 74 def version_iterator VersionIterator.new.version(self) end |