Sha256: 3dd287e1d5e517a8c19a76aaaac4a0aa5f4811d8cf266c61718fb9534124157a
Contents?: true
Size: 671 Bytes
Versions: 9
Compression:
Stored size: 671 Bytes
Contents
module RGL class PathBuilder # :nodoc: def initialize(source, parents_map) @source = source @parents_map = parents_map @paths = {} end def path(target) if @paths.has_key?(target) @paths[target] else @paths[target] = restore_path(target) end end def paths(targets) paths_map = {} targets.each do |target| paths_map[target] = path(target) end paths_map end private def restore_path(target) return [@source] if target == @source parent = @parents_map[target] path(parent) + [target] if parent end end end # RGL
Version data entries
9 entries across 9 versions & 1 rubygems