class Ki::VersionIterator
Public Instance Methods
iterate_dependencies()
click to toggle source
# File lib/data_access/version_iterators.rb, line 43 def iterate_dependencies version.metadata.dependencies.map do |dep| if internals || !dep["internal"] dep_v = VersionIterator.new dep_v.version = finder.version(dep["version_id"]) dep_v.dependency = dep dep_v.exclude_dependencies.concat(exclude_dependencies).concat(select_dep_rm(dep)) dep_v.block = block if dep["path"] || package_path dep_v.package_path = File.join([package_path, dep["path"]].compact) end if dependency_path || dep["name"] dep_v.dependency_path = File.join([dependency_path, dep["name"]].compact) end if ok_to_iterate_dependency(dep_v) [dep, dep_v.version, block.call(dep_v)] end end end.compact end
iterate_versions(&block)
click to toggle source
# File lib/data_access/version_iterators.rb, line 30 def iterate_versions(&block) start_iteration do |version_iterator| block.call(version_iterator.version) version_iterator.iterate_dependencies end end
ok_to_iterate_dependency(dep_v)
click to toggle source
# File lib/data_access/version_iterators.rb, line 77 def ok_to_iterate_dependency(dep_v) !(exclude_dependencies.size > 0 && (exclude_dependencies.any_matches?(dep_v.version.version_id) || dep_v.dependency_path && exclude_dependencies.any_matches?(dep_v.dependency_path))) end
select_dep_rm(dep_v)
click to toggle source
# File lib/data_access/version_iterators.rb, line 64 def select_dep_rm(dep_v) ops = dep_v["operations"] if ops ops.map do |op| if op.first == "dep-rm" op[1..-1] end end.compact.flatten else [] end end
start_iteration(&block)
click to toggle source
# File lib/data_access/version_iterators.rb, line 37 def start_iteration(&block) @block = block @internals = true block.call(self) end