Object
TODO [cw,2010/11/23]: this is a simple but inefficient impl. Do it for realz.
# File lib/dep_selector/dependency_graph.rb, line 79 def clone Marshal.load(Marshal.dump(self)) end
# File lib/dep_selector/dependency_graph.rb, line 39 def each_package packages.each do |name, pkg| yield pkg end end
# File lib/dep_selector/dependency_graph.rb, line 69 def gecode_model_vars packages.inject({}){|acc, elt| acc[elt.first] = elt.last.gecode_model_var ; acc } end
# File lib/dep_selector/dependency_graph.rb, line 45 def gecode_wrapper raise "Must invoke generate_gecode_wrapper_constraints before attempting to access gecode_wrapper" unless @gecode_wrapper @gecode_wrapper end
Note: only invoke this method once all Packages and PackageVersions have been added.
# File lib/dep_selector/dependency_graph.rb, line 52 def generate_gecode_wrapper_constraints(packages_to_include_in_solve=nil) unless @gecode_wrapper packages_in_solve = if packages_to_include_in_solve packages_to_include_in_solve else packages.map{ |name, pkg| pkg } end # In addition to all the packages that the user specified, # there is a "ghost" package that contains the solution # constraints. See Selector#solve for more information. @gecode_wrapper = GecodeWrapper.new(packages_in_solve.size + 1) packages_in_solve.each{ |pkg| pkg.generate_gecode_wrapper_constraints } end end
Generated with the Darkfish Rdoc Generator 2.