Sha256: 7cf0b050b41ef19dd939daecd86deff8d805fc94ac5da06618472f8732f2f40f
Contents?: true
Size: 549 Bytes
Versions: 2
Compression:
Stored size: 549 Bytes
Contents
require 'tsort' module Dentaku class DependencyResolver include TSort def self.find_resolve_order(vars_to_dependencies_hash) self.new(vars_to_dependencies_hash).tsort end def initialize(vars_to_dependencies_hash) # ensure variables are symbols @vars_to_deps = Hash[vars_to_dependencies_hash.map { |k, v| [k.to_sym, v]}] end def tsort_each_node(&block) @vars_to_deps.each_key(&block) end def tsort_each_child(node, &block) @vars_to_deps[node.to_sym].each(&block) end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dentaku-1.2.1 | lib/dentaku/dependency_resolver.rb |
dentaku-1.2.0 | lib/dentaku/dependency_resolver.rb |