method
util_setup_spec_fetcher
v2_5_5 -
Show latest stable
- Class:
Gem::TestCase
util_setup_spec_fetcher(*specs)public
Sets up Gem::SpecFetcher to return information from the gems in specs. Best used with +@all_gems+ from #util_setup_fake_fetcher.
# File lib/rubygems/test_case.rb, line 1040
def util_setup_spec_fetcher(*specs)
all_specs = Gem::Specification.to_a + specs
Gem::Specification._resort! all_specs
spec_fetcher = Gem::SpecFetcher.fetcher
prerelease, all = all_specs.partition { |spec| spec.version.prerelease? }
latest = Gem::Specification._latest_specs all_specs
spec_fetcher.specs[@uri] = []
all.each do |spec|
spec_fetcher.specs[@uri] << spec.name_tuple
end
spec_fetcher.latest_specs[@uri] = []
latest.each do |spec|
spec_fetcher.latest_specs[@uri] << spec.name_tuple
end
spec_fetcher.prerelease_specs[@uri] = []
prerelease.each do |spec|
spec_fetcher.prerelease_specs[@uri] << spec.name_tuple
end
# HACK for test_download_to_cache
unless Gem::RemoteFetcher === @fetcher then
v = Gem.marshal_version
specs = all.map { |spec| spec.name_tuple }
s_zip = util_gzip Marshal.dump Gem::NameTuple.to_basic specs
latest_specs = latest.map do |spec|
spec.name_tuple
end
l_zip = util_gzip Marshal.dump Gem::NameTuple.to_basic latest_specs
prerelease_specs = prerelease.map { |spec| spec.name_tuple }
p_zip = util_gzip Marshal.dump Gem::NameTuple.to_basic prerelease_specs
@fetcher.data["#{@gem_repo}specs.#{v}.gz"] = s_zip
@fetcher.data["#{@gem_repo}latest_specs.#{v}.gz"] = l_zip
@fetcher.data["#{@gem_repo}prerelease_specs.#{v}.gz"] = p_zip
v = Gem.marshal_version
all_specs.each do |spec|
path = "#{@gem_repo}quick/Marshal.#{v}/#{spec.original_name}.gemspec.rz"
data = Marshal.dump spec
data_deflate = Zlib::Deflate.deflate data
@fetcher.data[path] = data_deflate
end
end
nil # force errors
end Related methods
- Instance methods
- add_to_fetcher
- all_spec_names
- ask_if_ok
- assert_activate
- assert_contains_make_command
- assert_path_exists
- build_rake_in
- common_installer_setup
- common_installer_teardown
- create_tmpdir
- dep
- dependency_request
- enable_shared
- git_gem
- have_git?
- in_path?
- install_default_gems
- install_default_specs
- install_gem
- install_gem_user
- install_specs
- loaded_spec_names
- make_command
- mu_pp
- new_default_spec
- new_spec
- nmake_found?
- parse_make_command_line
- process_based_port
- quick_gem
- quick_spec
- read_binary
- read_cache
- refute_path_exists
- req
- save_gemspec
- save_loaded_features
- scan_make_command_lines
- setup
- spec
- spec_fetcher
- teardown
- uninstall_gem
- unresolved_names
- util_build_gem
- util_clear_gems
- util_gem
- util_gzip
- util_make_gems
- util_remove_gem
- util_restore_RUBY_VERSION
- util_set_RUBY_VERSION
- util_set_arch
- util_setup_fake_fetcher
- util_setup_spec_fetcher
- util_spec
- util_zip
- v
- vc_windows?
- vendor_gem
- wait_for_child_process_to_exit
- win_platform?
- write_file
- Class methods
- cert_path
- key_path
- load_cert
- load_key
- make_command
- process_based_port
- rubybin
- vc_windows?
- win_platform?