class Sorbet::Private::GemLoader

def self.require_all_gems

def self.require_all_gems
  require 'bundler/setup'
  # Do not load gems in Gemfile where require is false
  deps = Bundler.load.dependencies.reject { |dep| dep.autorequire && dep.autorequire.empty? }
  specs = deps.flat_map do |dep|
    begin
      dep.to_specs
    rescue Gem::MissingSpecError
      []
    end
  end.to_set
  specs.sort_by(&:name).each do |gemspec|
    begin
      require_gem(gemspec.name)
    rescue LoadError
    end
  end
  Bundler.require
end