Module: Solve
- Defined in:
- lib/solve.rb,
lib/solve/graph.rb,
lib/solve/demand.rb,
lib/solve/errors.rb,
lib/solve/version.rb,
lib/solve/artifact.rb,
lib/solve/constraint.rb,
lib/solve/dependency.rb,
lib/solve/ruby_solver.rb,
lib/solve/gecode_solver.rb,
lib/solve/solver/serializer.rb
Defined Under Namespace
Modules: Errors Classes: Artifact, Constraint, Demand, Dependency, GecodeSolver, Graph, Problem, RubySolver, Solver
Constant Summary collapse
- VERSION =
"2.0.1"
Class Attribute Summary collapse
-
.engine ⇒ Symbol
Returns the currently configured engine.
- .tracer ⇒ Solve::Formatter readonly
Class Method Summary collapse
Class Attribute Details
.engine ⇒ Symbol
Returns the currently configured engine.
24 25 26 |
# File 'lib/solve.rb', line 24 def engine @engine end |
.tracer ⇒ Solve::Formatter (readonly)
19 20 21 |
# File 'lib/solve.rb', line 19 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
63 64 65 |
# File 'lib/solve.rb', line 63 def it!(graph, demands, = {}) solver_for_engine(engine).new(graph, demands, ).resolve() end |
.solver_for_engine(engine_name) ⇒ Object
67 68 69 70 71 72 73 74 |
# File 'lib/solve.rb', line 67 def solver_for_engine(engine_name) case engine_name when :ruby RubySolver when :gecode GecodeSolver end end |