Method: Bundler::PubGrub::VersionSolver#work

Defined in:
lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb

#workObject

Returns true if there is more work to be done, false otherwise

[View source]

38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb', line 38

def work
  return false if solved?

  next_package = choose_package_version
  propagate(next_package)

  if solved?
    logger.info { "Solution found after #{solution.attempted_solutions} attempts:" }
    solution.decisions.each do |package, version|
      next if Package.root?(package)
      logger.info { "* #{package} #{version}" }
    end

    false
  else
    true
  end
end