class Bundler::Source::Rubygems

def install(spec)

def install(spec)
  path = cached_gem(spec)
  if installed_specs[spec].any?
    Bundler.ui.info "Using #{spec.name} (#{spec.version}) "
    return
  end
  Bundler.ui.info "Installing #{spec.name} (#{spec.version}) "
  install_path = Bundler.requires_sudo? ? Bundler.tmp : Gem.dir
  options = { :install_dir         => install_path,
              :ignore_dependencies => true,
              :wrappers            => true,
              :env_shebang         => true }
  options.merge!(:bin_dir => "#{install_path}/bin") unless spec.executables.nil? || spec.executables.empty?
  installer = Gem::Installer.new path, options
  installer.install
  # SUDO HAX
  if Bundler.requires_sudo?
    sudo "mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications"
    sudo "cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/"
    sudo "cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/"
    spec.executables.each do |exe|
      sudo "mkdir -p #{Gem.bindir}"
      sudo "cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}"
    end
  end
  spec.loaded_from = "#{Gem.dir}/specifications/#{spec.full_name}.gemspec"
end