Class: Bundler::RubygemsIntegration::AlmostModern

Inherits:
Modern show all
Defined in:
lib/bundler/rubygems_integration.rb

Overview

Rubygems 1.8.0 to 1.8.4

Instance Method Summary collapse

Methods inherited from Modern

#all_specs, #find_name, #stub_rubygems

Methods inherited from Bundler::RubygemsIntegration

#backport_segment_generation, #bin_path, #clear_paths, #configuration, #download_gem, #fetch_specs, #gem_bindir, #gem_dir, #gem_path, #inflate, #initialize, #loaded_specs, #mark_loaded, #marshal_spec_dir, #path, #platforms, #read_binary, #replace_bin_path, #replace_entrypoints, #replace_gem, #replace_refresh, #reverse_rubygems_kernel_mixin, #ruby_engine, #sources, #sources=, #spec_from_gem, #stub_source_index137, #stub_source_index170, #ui=, #user_home, #with_build_args

Constructor Details

This class inherits a constructor from Bundler::RubygemsIntegration

Instance Method Details

#preserve_pathsObject

Rubygems [>= 1.8.0, < 1.8.5] has a bug that changes Gem.dir whenever you call Gem::Installer#install with an :install_dir set. We have to change it back for our sudo mode to work.



325
326
327
328
329
# File 'lib/bundler/rubygems_integration.rb', line 325

def preserve_paths
  old_dir, old_path = gem_dir, gem_path
  yield
  Gem.use_paths(old_dir, old_path)
end