class Gem::DependencyInstaller
def install(dep_or_name, version = Gem::Requirement.default)
def install(dep_or_name, version = Gem::Requirement.default) request_set = resolve_dependencies dep_or_name, version @installed_gems = [] options = { bin_dir: @bin_dir, build_args: @build_args, document: @document, env_shebang: @env_shebang, force: @force, format_executable: @format_executable, ignore_dependencies: @ignore_dependencies, prerelease: @prerelease, security_policy: @security_policy, user_install: @user_install, wrappers: @wrappers, build_root: @build_root, install_as_default: @install_as_default, dir_mode: @dir_mode, data_mode: @data_mode, prog_mode: @prog_mode, } options[:install_dir] = @install_dir if @only_install_dir request_set.install options do |_, installer| @installed_gems << installer.spec if installer end @installed_gems.sort! # Since this is currently only called for docs, we can be lazy and just say # it's documentation. Ideally the hook adder could decide whether to be in # the background or not, and what to call it. in_background "Installing documentation" do Gem.done_installing_hooks.each do |hook| hook.call self, @installed_gems end end unless Gem.done_installing_hooks.empty? @installed_gems end