class Solargraph::Documentor
def self.specs_from_bundle directory
def self.specs_from_bundle directory Bundler.with_clean_env do Dir.chdir directory do cmd = [ 'bundle', 'exec', 'ruby', '-e', "require 'bundler'; require 'json'; puts Bundler.definition.specs_for([:default]).map { |spec| [spec.name, spec.version] }.to_h.to_json" ] o, e, s = Open3.capture3(*cmd) if s.success? o && !o.empty? ? JSON.parse(o) : {} else Solargraph.logger.warn e raise BundleNotFoundError, "Failed to load gems from bundle at #{directory}" end end end end