Module: Solve
- Defined in:
- lib/solve.rb,
lib/solve/graph.rb,
lib/solve/demand.rb,
lib/solve/errors.rb,
lib/solve/solver.rb,
lib/solve/tracers.rb,
lib/solve/version.rb,
lib/solve/artifact.rb,
lib/solve/constraint.rb,
lib/solve/dependency.rb,
lib/solve/gem_version.rb,
lib/solve/tracers/silent.rb,
lib/solve/solver/serializer.rb,
lib/solve/solver/variable_row.rb,
lib/solve/solver/constraint_row.rb,
lib/solve/solver/variable_table.rb,
lib/solve/tracers/human_readable.rb,
lib/solve/solver/constraint_table.rb
Defined Under Namespace
Modules: Errors, Tracers Classes: Artifact, Constraint, Demand, Dependency, Graph, Solver, Version
Constant Summary collapse
- VERSION =
"0.8.0"
Class Attribute Summary collapse
- .tracer ⇒ Solve::Formatter readonly
Class Method Summary collapse
-
.it!(graph, demands, options = {}) ⇒ Hash
A quick solve.
Class Attribute Details
.tracer ⇒ Solve::Formatter (readonly)
15 16 17 |
# File 'lib/solve.rb', line 15 def tracer @tracer end |
Class Method Details
.it!(graph, demands, options = {}) ⇒ Hash
A quick solve. Given the “world” as we know it (the graph) and a list of requirements (demands) which must be met. Return me the best solution of artifacts and verisons that I should use.
If a ui object is passed in, the resolution will be traced
37 38 39 40 |
# File 'lib/solve.rb', line 37 def it!(graph, demands, = {}) @tracer = [:tracer] || Solve::Tracers.build([:ui]) Solver.new(graph, demands, [:ui]).resolve() end |