Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more
A test case for Gem::Installer.
# File rubygems/installer_test_case.rb, line 57 def setup super @installer_tmp = File.join @tempdir, 'installer' FileUtils.mkdir_p @installer_tmp Gem.use_paths @installer_tmp Gem.ensure_gem_subdirectories @installer_tmp @spec = quick_gem 'a' util_make_exec @spec util_build_gem @spec @gem = @spec.cache_file @user_spec = quick_gem 'b' util_make_exec @user_spec util_build_gem @user_spec @user_gem = @user_spec.cache_file Gem.use_paths @gemhome @installer = util_installer @spec, @gemhome @user_installer = util_installer @user_spec, Gem.user_dir, :user Gem.use_paths @gemhome end
# File rubygems/installer_test_case.rb, line 84 def util_gem_bindir spec = @spec # TODO: deprecate spec.bin_dir end
# File rubygems/installer_test_case.rb, line 89 def util_gem_dir spec = @spec # TODO: deprecate spec.gem_dir end
# File rubygems/installer_test_case.rb, line 94 def util_inst_bindir File.join @gemhome, "bin" end
# File rubygems/installer_test_case.rb, line 141 def util_installer(spec, gem_home, user=false) Gem::Installer.new spec.cache_file, :user_install => user end
# File rubygems/installer_test_case.rb, line 98 def util_make_exec(spec = @spec, shebang = "#!/usr/bin/ruby") spec.executables = %w[executable] spec.files << 'bin/executable' exec_path = spec.bin_file "executable" write_file exec_path do |io| io.puts shebang end bin_path = File.join @tempdir, "bin", "executable" write_file bin_path do |io| io.puts shebang end end
# File rubygems/installer_test_case.rb, line 113 def util_setup_gem(ui = @ui) # HACK fix use_ui to make this automatic @spec.files << File.join('lib', 'code.rb') @spec.extensions << File.join('ext', 'a', 'mkrf_conf.rb') Dir.chdir @tempdir do FileUtils.mkdir_p 'bin' FileUtils.mkdir_p 'lib' FileUtils.mkdir_p File.join('ext', 'a') File.open File.join('bin', 'executable'), 'w' do |f| f.puts "raise 'ran executable'" end File.open File.join('lib', 'code.rb'), 'w' do |f| f.puts '1' end File.open File.join('ext', 'a', 'mkrf_conf.rb'), 'w' do |f| f << <<-EOF File.open 'Rakefile', 'w' do |rf| rf.puts "task :default" end EOF end use_ui ui do FileUtils.rm @gem @gem = Gem::Builder.new(@spec).build end end @installer = Gem::Installer.new @gem end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.