class Solve::Errors::NoSolutionError
def initialize(message = nil, causes = {})
(**causes)
-
:artifacts_with_no_satisfactory_version
(Array
) -- -
:unsatisfiable_demand
(#to_s
) -- -
:constraints_excluding_all_artifacts
(Array
) -- -
:missing_artifacts
(Array
) --
Parameters:
-
message
(#to_s
) --
def initialize(message = nil, causes = {}) super(message) @message = message @missing_artifacts = causes[:missing_artifacts] || [] @constraints_excluding_all_artifacts = causes[:constraints_excluding_all_artifacts] || [] @unsatisfiable_demand = causes[:unsatisfiable_demand] || nil @artifacts_with_no_satisfactory_version = causes[:artifacts_with_no_satisfactory_version] || [] end
def to_s
def to_s s = "" s << "#{@message}\n" s << "Missing artifacts: #{missing_artifacts.join(",")}\n" unless missing_artifacts.empty? unless constraints_excluding_all_artifacts.empty? pretty = constraints_excluding_all_artifacts.map { |constraint| "(#{constraint[0]} #{constraint[1]})" }.join(",") s << "Constraints that match no available version: #{pretty}\n" end s << "Demand that cannot be met: #{unsatisfiable_demand}\n" if unsatisfiable_demand unless artifacts_with_no_satisfactory_version.empty? s << "Artifacts for which there are conflicting dependencies: #{artifacts_with_no_satisfactory_version.join(",")}" end s end