rubygems-update 3.2.0.rc.1 → 3.2.0.rc.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CONTRIBUTING.md +23 -8
- data/History.txt +208 -143
- data/Manifest.txt +26 -50
- data/Rakefile +11 -49
- data/bundler/CHANGELOG.md +725 -687
- data/bundler/UPGRADING.md +2 -2
- data/bundler/lib/bundler.rb +6 -3
- data/bundler/lib/bundler/build_metadata.rb +4 -12
- data/bundler/lib/bundler/cli.rb +27 -14
- data/bundler/lib/bundler/cli/add.rb +1 -1
- data/bundler/lib/bundler/cli/cache.rb +1 -7
- data/bundler/lib/bundler/cli/clean.rb +1 -1
- data/bundler/lib/bundler/cli/common.rb +14 -0
- data/bundler/lib/bundler/cli/doctor.rb +1 -1
- data/bundler/lib/bundler/cli/exec.rb +1 -1
- data/bundler/lib/bundler/cli/fund.rb +36 -0
- data/bundler/lib/bundler/cli/gem.rb +1 -1
- data/bundler/lib/bundler/cli/info.rb +2 -1
- data/bundler/lib/bundler/cli/init.rb +1 -1
- data/bundler/lib/bundler/cli/inject.rb +1 -1
- data/bundler/lib/bundler/cli/install.rb +4 -2
- data/bundler/lib/bundler/cli/list.rb +1 -1
- data/bundler/lib/bundler/cli/outdated.rb +1 -1
- data/bundler/lib/bundler/cli/pristine.rb +1 -1
- data/bundler/lib/bundler/cli/show.rb +1 -1
- data/bundler/lib/bundler/cli/update.rb +2 -0
- data/bundler/lib/bundler/compact_index_client.rb +1 -1
- data/bundler/lib/bundler/compact_index_client/cache.rb +1 -1
- data/bundler/lib/bundler/definition.rb +28 -37
- data/bundler/lib/bundler/dep_proxy.rb +1 -1
- data/bundler/lib/bundler/dsl.rb +4 -4
- data/bundler/lib/bundler/endpoint_specification.rb +1 -1
- data/bundler/lib/bundler/fetcher.rb +3 -3
- data/bundler/lib/bundler/fetcher/base.rb +1 -1
- data/bundler/lib/bundler/fetcher/compact_index.rb +1 -1
- data/bundler/lib/bundler/fetcher/downloader.rb +1 -1
- data/bundler/lib/bundler/fetcher/index.rb +1 -1
- data/bundler/lib/bundler/friendly_errors.rb +3 -3
- data/bundler/lib/bundler/gem_helper.rb +17 -9
- data/bundler/lib/bundler/gem_helpers.rb +6 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +1 -1
- data/bundler/lib/bundler/graph.rb +1 -1
- data/bundler/lib/bundler/index.rb +1 -1
- data/bundler/lib/bundler/injector.rb +1 -1
- data/bundler/lib/bundler/installer.rb +1 -1
- data/bundler/lib/bundler/installer/gem_installer.rb +1 -1
- data/bundler/lib/bundler/installer/parallel_installer.rb +1 -1
- data/bundler/lib/bundler/installer/standalone.rb +2 -2
- data/bundler/lib/bundler/lazy_specification.rb +3 -3
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/lockfile_parser.rb +1 -1
- data/bundler/lib/bundler/mirror.rb +2 -2
- data/bundler/lib/bundler/plugin.rb +5 -6
- data/bundler/lib/bundler/plugin/index.rb +1 -1
- data/bundler/lib/bundler/plugin/installer.rb +1 -1
- data/bundler/lib/bundler/plugin/installer/rubygems.rb +1 -1
- data/bundler/lib/bundler/plugin/source_list.rb +1 -1
- data/bundler/lib/bundler/remote_specification.rb +1 -1
- data/bundler/lib/bundler/resolver.rb +4 -4
- data/bundler/lib/bundler/resolver/spec_group.rb +2 -2
- data/bundler/lib/bundler/retry.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +1 -1
- data/bundler/lib/bundler/rubygems_ext.rb +46 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +2 -2
- data/bundler/lib/bundler/rubygems_integration.rb +18 -6
- data/bundler/lib/bundler/runtime.rb +2 -2
- data/bundler/lib/bundler/settings.rb +49 -42
- data/bundler/lib/bundler/shared_helpers.rb +1 -1
- data/bundler/lib/bundler/similarity_detector.rb +1 -1
- data/bundler/lib/bundler/source.rb +1 -1
- data/bundler/lib/bundler/source/git.rb +1 -1
- data/bundler/lib/bundler/source/git/git_proxy.rb +4 -2
- data/bundler/lib/bundler/source/path.rb +2 -2
- data/bundler/lib/bundler/source/path/installer.rb +1 -1
- data/bundler/lib/bundler/source/rubygems.rb +2 -2
- data/bundler/lib/bundler/source/rubygems/remote.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +2 -2
- data/bundler/lib/bundler/spec_set.rb +1 -1
- data/bundler/lib/bundler/stub_specification.rb +1 -1
- data/bundler/lib/bundler/templates/newgem/README.md.tt +1 -1
- data/bundler/lib/bundler/templates/newgem/bin/console.tt +1 -2
- data/bundler/lib/bundler/templates/newgem/newgem.gemspec.tt +2 -2
- data/bundler/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +0 -1
- data/bundler/lib/bundler/ui/shell.rb +5 -5
- data/bundler/lib/bundler/uri_credentials_filter.rb +1 -1
- data/bundler/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +7 -4
- data/bundler/lib/bundler/vendored_persistent.rb +0 -7
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler/worker.rb +1 -1
- data/bundler/lib/bundler/yaml_serializer.rb +1 -1
- data/bundler/man/bundle-add.1 +1 -1
- data/bundler/man/{bundle-add.ronn → bundle-add.1.ronn} +0 -0
- data/bundler/man/bundle-binstubs.1 +5 -3
- data/bundler/man/{bundle-binstubs.ronn → bundle-binstubs.1.ronn} +2 -4
- data/bundler/man/bundle-cache.1 +1 -1
- data/bundler/man/{bundle-cache.ronn → bundle-cache.1.ronn} +0 -0
- data/bundler/man/bundle-check.1 +1 -1
- data/bundler/man/{bundle-check.ronn → bundle-check.1.ronn} +0 -0
- data/bundler/man/bundle-clean.1 +1 -1
- data/bundler/man/{bundle-clean.ronn → bundle-clean.1.ronn} +0 -0
- data/bundler/man/bundle-config.1 +14 -14
- data/bundler/man/{bundle-config.ronn → bundle-config.1.ronn} +14 -13
- data/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/man/{bundle-doctor.ronn → bundle-doctor.1.ronn} +0 -0
- data/bundler/man/bundle-exec.1 +1 -1
- data/bundler/man/{bundle-exec.ronn → bundle-exec.1.ronn} +0 -0
- data/bundler/man/bundle-gem.1 +1 -1
- data/bundler/man/{bundle-gem.ronn → bundle-gem.1.ronn} +0 -0
- data/bundler/man/bundle-info.1 +1 -1
- data/bundler/man/{bundle-info.ronn → bundle-info.1.ronn} +0 -0
- data/bundler/man/bundle-init.1 +1 -1
- data/bundler/man/{bundle-init.ronn → bundle-init.1.ronn} +0 -0
- data/bundler/man/bundle-inject.1 +1 -1
- data/bundler/man/{bundle-inject.ronn → bundle-inject.1.ronn} +0 -0
- data/bundler/man/bundle-install.1 +29 -2
- data/bundler/man/{bundle-install.ronn → bundle-install.1.ronn} +24 -2
- data/bundler/man/bundle-list.1 +1 -1
- data/bundler/man/{bundle-list.ronn → bundle-list.1.ronn} +0 -0
- data/bundler/man/bundle-lock.1 +1 -1
- data/bundler/man/{bundle-lock.ronn → bundle-lock.1.ronn} +0 -0
- data/bundler/man/bundle-open.1 +1 -1
- data/bundler/man/{bundle-open.ronn → bundle-open.1.ronn} +0 -0
- data/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/man/{bundle-outdated.ronn → bundle-outdated.1.ronn} +0 -0
- data/bundler/man/bundle-platform.1 +1 -1
- data/bundler/man/{bundle-platform.ronn → bundle-platform.1.ronn} +0 -0
- data/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/man/{bundle-pristine.ronn → bundle-pristine.1.ronn} +0 -0
- data/bundler/man/bundle-remove.1 +1 -1
- data/bundler/man/{bundle-remove.ronn → bundle-remove.1.ronn} +0 -0
- data/bundler/man/bundle-show.1 +1 -1
- data/bundler/man/{bundle-show.ronn → bundle-show.1.ronn} +0 -0
- data/bundler/man/bundle-update.1 +1 -1
- data/bundler/man/{bundle-update.ronn → bundle-update.1.ronn} +0 -0
- data/bundler/man/bundle-viz.1 +1 -1
- data/bundler/man/{bundle-viz.ronn → bundle-viz.1.ronn} +0 -0
- data/bundler/man/bundle.1 +1 -1
- data/bundler/man/{bundle.ronn → bundle.1.ronn} +0 -0
- data/bundler/man/gemfile.5 +4 -4
- data/bundler/man/gemfile.5.ronn +4 -4
- data/lib/rubygems.rb +3 -6
- data/lib/rubygems/available_set.rb +0 -2
- data/lib/rubygems/basic_specification.rb +0 -4
- data/lib/rubygems/command.rb +0 -2
- data/lib/rubygems/command_manager.rb +0 -2
- data/lib/rubygems/commands/build_command.rb +4 -1
- data/lib/rubygems/commands/cert_command.rb +0 -8
- data/lib/rubygems/commands/check_command.rb +0 -2
- data/lib/rubygems/commands/cleanup_command.rb +8 -4
- data/lib/rubygems/commands/contents_command.rb +0 -2
- data/lib/rubygems/commands/dependency_command.rb +0 -2
- data/lib/rubygems/commands/environment_command.rb +1 -3
- data/lib/rubygems/commands/fetch_command.rb +0 -2
- data/lib/rubygems/commands/generate_index_command.rb +0 -2
- data/lib/rubygems/commands/help_command.rb +0 -2
- data/lib/rubygems/commands/info_command.rb +0 -2
- data/lib/rubygems/commands/install_command.rb +0 -2
- data/lib/rubygems/commands/list_command.rb +0 -2
- data/lib/rubygems/commands/lock_command.rb +0 -2
- data/lib/rubygems/commands/mirror_command.rb +0 -2
- data/lib/rubygems/commands/open_command.rb +0 -2
- data/lib/rubygems/commands/outdated_command.rb +0 -2
- data/lib/rubygems/commands/owner_command.rb +0 -2
- data/lib/rubygems/commands/pristine_command.rb +0 -2
- data/lib/rubygems/commands/push_command.rb +0 -2
- data/lib/rubygems/commands/query_command.rb +0 -2
- data/lib/rubygems/commands/rdoc_command.rb +0 -2
- data/lib/rubygems/commands/search_command.rb +0 -2
- data/lib/rubygems/commands/server_command.rb +0 -2
- data/lib/rubygems/commands/setup_command.rb +10 -13
- data/lib/rubygems/commands/signin_command.rb +0 -2
- data/lib/rubygems/commands/signout_command.rb +0 -2
- data/lib/rubygems/commands/sources_command.rb +0 -2
- data/lib/rubygems/commands/specification_command.rb +0 -2
- data/lib/rubygems/commands/stale_command.rb +0 -2
- data/lib/rubygems/commands/uninstall_command.rb +0 -2
- data/lib/rubygems/commands/unpack_command.rb +0 -2
- data/lib/rubygems/commands/update_command.rb +20 -5
- data/lib/rubygems/commands/which_command.rb +0 -2
- data/lib/rubygems/commands/yank_command.rb +0 -2
- data/lib/rubygems/config_file.rb +0 -2
- data/lib/rubygems/core_ext/kernel_warn.rb +6 -6
- data/lib/rubygems/dependency.rb +0 -2
- data/lib/rubygems/dependency_installer.rb +0 -2
- data/lib/rubygems/dependency_list.rb +0 -2
- data/lib/rubygems/doctor.rb +0 -2
- data/lib/rubygems/errors.rb +0 -12
- data/lib/rubygems/exceptions.rb +0 -20
- data/lib/rubygems/ext/builder.rb +0 -2
- data/lib/rubygems/ext/cmake_builder.rb +0 -2
- data/lib/rubygems/ext/configure_builder.rb +0 -2
- data/lib/rubygems/ext/ext_conf_builder.rb +0 -2
- data/lib/rubygems/ext/rake_builder.rb +0 -2
- data/lib/rubygems/gem_runner.rb +0 -2
- data/lib/rubygems/indexer.rb +0 -2
- data/lib/rubygems/installer.rb +4 -8
- data/lib/rubygems/installer_test_case.rb +0 -4
- data/lib/rubygems/mock_gem_ui.rb +0 -6
- data/lib/rubygems/name_tuple.rb +0 -2
- data/lib/rubygems/openssl.rb +7 -0
- data/lib/rubygems/package.rb +3 -10
- data/lib/rubygems/package/digest_io.rb +0 -2
- data/lib/rubygems/package/file_source.rb +0 -2
- data/lib/rubygems/package/io_source.rb +0 -2
- data/lib/rubygems/package/old.rb +0 -2
- data/lib/rubygems/package/tar_header.rb +0 -2
- data/lib/rubygems/package/tar_reader.rb +0 -2
- data/lib/rubygems/package/tar_reader/entry.rb +0 -2
- data/lib/rubygems/package/tar_test_case.rb +0 -2
- data/lib/rubygems/package/tar_writer.rb +0 -6
- data/lib/rubygems/package_task.rb +0 -2
- data/lib/rubygems/path_support.rb +0 -2
- data/lib/rubygems/platform.rb +0 -2
- data/lib/rubygems/psych_tree.rb +0 -2
- data/lib/rubygems/remote_fetcher.rb +4 -6
- data/lib/rubygems/request.rb +1 -9
- data/lib/rubygems/request/connection_pools.rb +0 -4
- data/lib/rubygems/request/http_pool.rb +0 -2
- data/lib/rubygems/request/https_pool.rb +0 -2
- data/lib/rubygems/request_set.rb +0 -2
- data/lib/rubygems/request_set/gem_dependency_api.rb +0 -2
- data/lib/rubygems/request_set/lockfile.rb +0 -4
- data/lib/rubygems/request_set/lockfile/parser.rb +0 -2
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +0 -2
- data/lib/rubygems/requirement.rb +7 -7
- data/lib/rubygems/resolver.rb +0 -2
- data/lib/rubygems/resolver/activation_request.rb +0 -2
- data/lib/rubygems/resolver/api_set.rb +0 -2
- data/lib/rubygems/resolver/api_specification.rb +15 -6
- data/lib/rubygems/resolver/best_set.rb +0 -2
- data/lib/rubygems/resolver/composed_set.rb +0 -2
- data/lib/rubygems/resolver/conflict.rb +0 -2
- data/lib/rubygems/resolver/current_set.rb +0 -2
- data/lib/rubygems/resolver/dependency_request.rb +0 -2
- data/lib/rubygems/resolver/git_set.rb +0 -2
- data/lib/rubygems/resolver/git_specification.rb +0 -2
- data/lib/rubygems/resolver/index_set.rb +0 -2
- data/lib/rubygems/resolver/index_specification.rb +0 -2
- data/lib/rubygems/resolver/installed_specification.rb +0 -2
- data/lib/rubygems/resolver/installer_set.rb +0 -2
- data/lib/rubygems/resolver/local_specification.rb +0 -2
- data/lib/rubygems/resolver/lock_set.rb +0 -2
- data/lib/rubygems/resolver/lock_specification.rb +0 -2
- data/lib/rubygems/resolver/requirement_list.rb +0 -2
- data/lib/rubygems/resolver/set.rb +0 -2
- data/lib/rubygems/resolver/source_set.rb +0 -2
- data/lib/rubygems/resolver/spec_specification.rb +0 -2
- data/lib/rubygems/resolver/specification.rb +0 -2
- data/lib/rubygems/resolver/stats.rb +0 -2
- data/lib/rubygems/resolver/vendor_set.rb +0 -2
- data/lib/rubygems/resolver/vendor_specification.rb +0 -2
- data/lib/rubygems/s3_uri_signer.rb +1 -7
- data/lib/rubygems/security.rb +1 -7
- data/lib/rubygems/security/policy.rb +0 -4
- data/lib/rubygems/security/signer.rb +0 -2
- data/lib/rubygems/security/trust_dir.rb +0 -2
- data/lib/rubygems/server.rb +0 -2
- data/lib/rubygems/source.rb +4 -4
- data/lib/rubygems/source/git.rb +0 -2
- data/lib/rubygems/source/installed.rb +0 -2
- data/lib/rubygems/source/local.rb +0 -2
- data/lib/rubygems/source/lock.rb +0 -2
- data/lib/rubygems/source/specific_file.rb +0 -2
- data/lib/rubygems/source/vendor.rb +0 -2
- data/lib/rubygems/source_list.rb +0 -2
- data/lib/rubygems/spec_fetcher.rb +0 -2
- data/lib/rubygems/specification.rb +19 -11
- data/lib/rubygems/specification_policy.rb +0 -2
- data/lib/rubygems/stub_specification.rb +0 -4
- data/lib/rubygems/syck_hack.rb +0 -2
- data/lib/rubygems/test_case.rb +5 -16
- data/lib/rubygems/test_utilities.rb +0 -8
- data/lib/rubygems/uninstaller.rb +0 -2
- data/lib/rubygems/uri_formatter.rb +0 -2
- data/lib/rubygems/uri_parser.rb +0 -2
- data/lib/rubygems/user_interaction.rb +0 -16
- data/lib/rubygems/util.rb +0 -2
- data/lib/rubygems/util/licenses.rb +0 -2
- data/lib/rubygems/util/list.rb +0 -2
- data/lib/rubygems/validator.rb +0 -2
- data/lib/rubygems/version.rb +0 -2
- data/rubygems-update.gemspec +1 -1
- data/test/rubygems/plugin/load/rubygems_plugin.rb +0 -2
- data/test/rubygems/rubygems/commands/crash_command.rb +0 -2
- data/test/rubygems/rubygems_plugin.rb +0 -2
- data/test/rubygems/test_bundled_ca.rb +38 -41
- data/test/rubygems/test_config.rb +0 -2
- data/test/rubygems/test_deprecate.rb +0 -6
- data/test/rubygems/test_gem.rb +0 -2
- data/test/rubygems/test_gem_available_set.rb +0 -2
- data/test/rubygems/test_gem_bundler_version_finder.rb +0 -2
- data/test/rubygems/test_gem_command.rb +0 -4
- data/test/rubygems/test_gem_command_manager.rb +0 -2
- data/test/rubygems/test_gem_commands_build_command.rb +29 -8
- data/test/rubygems/test_gem_commands_cert_command.rb +0 -2
- data/test/rubygems/test_gem_commands_check_command.rb +0 -2
- data/test/rubygems/test_gem_commands_cleanup_command.rb +12 -3
- data/test/rubygems/test_gem_commands_contents_command.rb +0 -2
- data/test/rubygems/test_gem_commands_dependency_command.rb +0 -2
- data/test/rubygems/test_gem_commands_environment_command.rb +0 -2
- data/test/rubygems/test_gem_commands_fetch_command.rb +0 -2
- data/test/rubygems/test_gem_commands_generate_index_command.rb +0 -2
- data/test/rubygems/test_gem_commands_help_command.rb +0 -2
- data/test/rubygems/test_gem_commands_info_command.rb +0 -2
- data/test/rubygems/test_gem_commands_install_command.rb +0 -2
- data/test/rubygems/test_gem_commands_list_command.rb +0 -2
- data/test/rubygems/test_gem_commands_lock_command.rb +0 -2
- data/test/rubygems/test_gem_commands_mirror.rb +0 -2
- data/test/rubygems/test_gem_commands_open_command.rb +0 -2
- data/test/rubygems/test_gem_commands_outdated_command.rb +0 -2
- data/test/rubygems/test_gem_commands_owner_command.rb +0 -2
- data/test/rubygems/test_gem_commands_pristine_command.rb +0 -2
- data/test/rubygems/test_gem_commands_push_command.rb +0 -2
- data/test/rubygems/test_gem_commands_query_command.rb +0 -4
- data/test/rubygems/test_gem_commands_search_command.rb +0 -2
- data/test/rubygems/test_gem_commands_server_command.rb +0 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +14 -20
- data/test/rubygems/test_gem_commands_signin_command.rb +0 -2
- data/test/rubygems/test_gem_commands_signout_command.rb +0 -2
- data/test/rubygems/test_gem_commands_sources_command.rb +0 -2
- data/test/rubygems/test_gem_commands_specification_command.rb +0 -2
- data/test/rubygems/test_gem_commands_stale_command.rb +0 -2
- data/test/rubygems/test_gem_commands_uninstall_command.rb +0 -2
- data/test/rubygems/test_gem_commands_unpack_command.rb +0 -2
- data/test/rubygems/test_gem_commands_update_command.rb +48 -2
- data/test/rubygems/test_gem_commands_which_command.rb +0 -2
- data/test/rubygems/test_gem_commands_yank_command.rb +0 -2
- data/test/rubygems/test_gem_config_file.rb +0 -2
- data/test/rubygems/test_gem_dependency.rb +0 -2
- data/test/rubygems/test_gem_dependency_installer.rb +2 -2
- data/test/rubygems/test_gem_dependency_list.rb +0 -2
- data/test/rubygems/test_gem_dependency_resolution_error.rb +0 -2
- data/test/rubygems/test_gem_doctor.rb +0 -2
- data/test/rubygems/test_gem_ext_builder.rb +2 -8
- data/test/rubygems/test_gem_ext_cmake_builder.rb +0 -2
- data/test/rubygems/test_gem_ext_configure_builder.rb +0 -2
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +0 -2
- data/test/rubygems/test_gem_ext_rake_builder.rb +0 -2
- data/test/rubygems/test_gem_gem_runner.rb +2 -2
- data/test/rubygems/test_gem_gemcutter_utilities.rb +0 -2
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +0 -2
- data/test/rubygems/test_gem_indexer.rb +0 -2
- data/test/rubygems/test_gem_install_update_options.rb +0 -2
- data/test/rubygems/test_gem_installer.rb +34 -4
- data/test/rubygems/test_gem_local_remote_options.rb +0 -2
- data/test/rubygems/test_gem_name_tuple.rb +0 -2
- data/test/rubygems/test_gem_package.rb +17 -11
- data/test/rubygems/test_gem_package_old.rb +0 -2
- data/test/rubygems/test_gem_package_tar_header.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader.rb +0 -2
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +0 -2
- data/test/rubygems/test_gem_package_tar_writer.rb +0 -2
- data/test/rubygems/test_gem_package_task.rb +0 -2
- data/test/rubygems/test_gem_path_support.rb +0 -2
- data/test/rubygems/test_gem_platform.rb +0 -2
- data/test/rubygems/test_gem_rdoc.rb +0 -2
- data/test/rubygems/test_gem_remote_fetcher.rb +4 -5
- data/test/rubygems/test_gem_request.rb +0 -4
- data/test/rubygems/test_gem_request_connection_pools.rb +0 -4
- data/test/rubygems/test_gem_request_set.rb +0 -2
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +0 -2
- data/test/rubygems/test_gem_request_set_lockfile.rb +0 -2
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +0 -2
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +0 -2
- data/test/rubygems/test_gem_requirement.rb +8 -2
- data/test/rubygems/test_gem_resolver.rb +0 -2
- data/test/rubygems/test_gem_resolver_activation_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_api_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_best_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_composed_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_conflict.rb +0 -2
- data/test/rubygems/test_gem_resolver_dependency_request.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_git_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_index_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installed_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_installer_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_local_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_lock_specification.rb +0 -2
- data/test/rubygems/test_gem_resolver_requirement_list.rb +0 -2
- data/test/rubygems/test_gem_resolver_specification.rb +0 -4
- data/test/rubygems/test_gem_resolver_vendor_set.rb +0 -2
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +0 -2
- data/test/rubygems/test_gem_security.rb +0 -2
- data/test/rubygems/test_gem_security_policy.rb +0 -2
- data/test/rubygems/test_gem_security_signer.rb +0 -2
- data/test/rubygems/test_gem_security_trust_dir.rb +0 -2
- data/test/rubygems/test_gem_server.rb +0 -4
- data/test/rubygems/test_gem_silent_ui.rb +0 -2
- data/test/rubygems/test_gem_source.rb +0 -2
- data/test/rubygems/test_gem_source_fetch_problem.rb +0 -2
- data/test/rubygems/test_gem_source_git.rb +0 -2
- data/test/rubygems/test_gem_source_installed.rb +0 -2
- data/test/rubygems/test_gem_source_list.rb +1 -2
- data/test/rubygems/test_gem_source_local.rb +0 -2
- data/test/rubygems/test_gem_source_lock.rb +0 -2
- data/test/rubygems/test_gem_source_specific_file.rb +0 -2
- data/test/rubygems/test_gem_source_vendor.rb +0 -2
- data/test/rubygems/test_gem_spec_fetcher.rb +0 -2
- data/test/rubygems/test_gem_specification.rb +10 -10
- data/test/rubygems/test_gem_stream_ui.rb +0 -2
- data/test/rubygems/test_gem_stub_specification.rb +4 -6
- data/test/rubygems/test_gem_text.rb +0 -2
- data/test/rubygems/test_gem_uninstaller.rb +0 -2
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +0 -2
- data/test/rubygems/test_gem_uri_formatter.rb +0 -2
- data/test/rubygems/test_gem_util.rb +0 -2
- data/test/rubygems/test_gem_validator.rb +0 -2
- data/test/rubygems/test_gem_version.rb +0 -2
- data/test/rubygems/test_gem_version_option.rb +0 -2
- data/test/rubygems/test_kernel.rb +0 -2
- data/test/rubygems/test_project_sanity.rb +0 -2
- data/test/rubygems/test_remote_fetch_error.rb +0 -2
- data/test/rubygems/test_require.rb +0 -8
- metadata +29 -53
- data/bundler/man/bundle-add.1.txt +0 -58
- data/bundler/man/bundle-binstubs.1.txt +0 -48
- data/bundler/man/bundle-cache.1.txt +0 -78
- data/bundler/man/bundle-check.1.txt +0 -33
- data/bundler/man/bundle-clean.1.txt +0 -26
- data/bundler/man/bundle-config.1.txt +0 -527
- data/bundler/man/bundle-doctor.1.txt +0 -44
- data/bundler/man/bundle-exec.1.txt +0 -181
- data/bundler/man/bundle-gem.1.txt +0 -117
- data/bundler/man/bundle-info.1.txt +0 -21
- data/bundler/man/bundle-init.1.txt +0 -34
- data/bundler/man/bundle-inject.1.txt +0 -32
- data/bundler/man/bundle-install.1.txt +0 -401
- data/bundler/man/bundle-list.1.txt +0 -44
- data/bundler/man/bundle-lock.1.txt +0 -93
- data/bundler/man/bundle-open.1.txt +0 -29
- data/bundler/man/bundle-outdated.1.txt +0 -131
- data/bundler/man/bundle-platform.1.txt +0 -57
- data/bundler/man/bundle-pristine.1.txt +0 -44
- data/bundler/man/bundle-remove.1.txt +0 -34
- data/bundler/man/bundle-show.1.txt +0 -27
- data/bundler/man/bundle-update.1.txt +0 -391
- data/bundler/man/bundle-viz.1.txt +0 -39
- data/bundler/man/bundle.1.txt +0 -116
- data/bundler/man/gemfile.5.txt +0 -651
- data/bundler/man/index.txt +0 -25
@@ -8,7 +8,6 @@ require 'rubygems/user_interaction'
|
|
8
8
|
# Gem::Security::Policies.
|
9
9
|
|
10
10
|
class Gem::Security::Policy
|
11
|
-
|
12
11
|
include Gem::UserInteraction
|
13
12
|
|
14
13
|
attr_reader :name
|
@@ -25,8 +24,6 @@ class Gem::Security::Policy
|
|
25
24
|
# options.
|
26
25
|
|
27
26
|
def initialize(name, policy = {}, opt = {})
|
28
|
-
require 'openssl'
|
29
|
-
|
30
27
|
@name = name
|
31
28
|
|
32
29
|
@opt = opt
|
@@ -291,5 +288,4 @@ class Gem::Security::Policy
|
|
291
288
|
end
|
292
289
|
|
293
290
|
alias to_s name # :nodoc:
|
294
|
-
|
295
291
|
end
|
@@ -4,7 +4,6 @@
|
|
4
4
|
# verification.
|
5
5
|
|
6
6
|
class Gem::Security::TrustDir
|
7
|
-
|
8
7
|
##
|
9
8
|
# Default permissions for the trust directory and its contents
|
10
9
|
|
@@ -115,5 +114,4 @@ class Gem::Security::TrustDir
|
|
115
114
|
FileUtils.mkdir_p @dir, :mode => @permissions[:trust_dir]
|
116
115
|
end
|
117
116
|
end
|
118
|
-
|
119
117
|
end
|
data/lib/rubygems/server.rb
CHANGED
@@ -29,7 +29,6 @@ require 'rubygems/rdoc'
|
|
29
29
|
# TODO Refactor into a real WEBrick servlet to remove code duplication.
|
30
30
|
|
31
31
|
class Gem::Server
|
32
|
-
|
33
32
|
attr_reader :spec_dirs
|
34
33
|
|
35
34
|
include ERB::Util
|
@@ -875,5 +874,4 @@ div.method-source-code pre { color: #ffdead; overflow: hidden; }
|
|
875
874
|
|
876
875
|
system("#{@launch} http://#{host}:#{@port}")
|
877
876
|
end
|
878
|
-
|
879
877
|
end
|
data/lib/rubygems/source.rb
CHANGED
@@ -1,5 +1,4 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
autoload :FileUtils, 'fileutils'
|
3
2
|
|
4
3
|
require "rubygems/text"
|
5
4
|
##
|
@@ -9,7 +8,6 @@ require "rubygems/text"
|
|
9
8
|
# bundler dependency API and so-forth.
|
10
9
|
|
11
10
|
class Gem::Source
|
12
|
-
|
13
11
|
include Comparable
|
14
12
|
include Gem::Text
|
15
13
|
|
@@ -181,7 +179,10 @@ class Gem::Source
|
|
181
179
|
local_file = File.join(cache_dir, file_name)
|
182
180
|
retried = false
|
183
181
|
|
184
|
-
|
182
|
+
if update_cache?
|
183
|
+
require "fileutils"
|
184
|
+
FileUtils.mkdir_p cache_dir
|
185
|
+
end
|
185
186
|
|
186
187
|
spec_dump = fetcher.cache_update_path spec_path, local_file, update_cache?
|
187
188
|
|
@@ -224,7 +225,6 @@ class Gem::Source
|
|
224
225
|
return if @uri.host.nil?
|
225
226
|
levenshtein_distance(@uri.host, host) <= distance_threshold
|
226
227
|
end
|
227
|
-
|
228
228
|
end
|
229
229
|
|
230
230
|
require 'rubygems/source/git'
|
data/lib/rubygems/source/git.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
# Represents an installed gem. This is used for dependency resolution.
|
4
4
|
|
5
5
|
class Gem::Source::Installed < Gem::Source
|
6
|
-
|
7
6
|
def initialize # :nodoc:
|
8
7
|
@uri = nil
|
9
8
|
end
|
@@ -36,5 +35,4 @@ class Gem::Source::Installed < Gem::Source
|
|
36
35
|
def pretty_print(q) # :nodoc:
|
37
36
|
q.text '[Installed]'
|
38
37
|
end
|
39
|
-
|
40
38
|
end
|
data/lib/rubygems/source/lock.rb
CHANGED
@@ -3,7 +3,6 @@
|
|
3
3
|
# This represents a vendored source that is similar to an installed gem.
|
4
4
|
|
5
5
|
class Gem::Source::Vendor < Gem::Source::Installed
|
6
|
-
|
7
6
|
##
|
8
7
|
# Creates a new Vendor source for a gem that was unpacked at +path+.
|
9
8
|
|
@@ -23,5 +22,4 @@ class Gem::Source::Vendor < Gem::Source::Installed
|
|
23
22
|
nil
|
24
23
|
end
|
25
24
|
end
|
26
|
-
|
27
25
|
end
|
data/lib/rubygems/source_list.rb
CHANGED
@@ -14,7 +14,6 @@
|
|
14
14
|
# The most common way to get a SourceList is Gem.sources.
|
15
15
|
|
16
16
|
class Gem::SourceList
|
17
|
-
|
18
17
|
include Enumerable
|
19
18
|
|
20
19
|
##
|
@@ -148,5 +147,4 @@ class Gem::SourceList
|
|
148
147
|
@sources.delete_if {|x| x.uri.to_s == source.to_s }
|
149
148
|
end
|
150
149
|
end
|
151
|
-
|
152
150
|
end
|
@@ -9,7 +9,6 @@ require 'rubygems/name_tuple'
|
|
9
9
|
# SpecFetcher handles metadata updates from remote gem repositories.
|
10
10
|
|
11
11
|
class Gem::SpecFetcher
|
12
|
-
|
13
12
|
include Gem::UserInteraction
|
14
13
|
include Gem::Text
|
15
14
|
|
@@ -259,5 +258,4 @@ class Gem::SpecFetcher
|
|
259
258
|
raise unless gracefully_ignore
|
260
259
|
[]
|
261
260
|
end
|
262
|
-
|
263
261
|
end
|
@@ -34,7 +34,6 @@ require 'rubygems/util/list'
|
|
34
34
|
# items you may add to a specification.
|
35
35
|
|
36
36
|
class Gem::Specification < Gem::BasicSpecification
|
37
|
-
|
38
37
|
extend Gem::Deprecate
|
39
38
|
|
40
39
|
# REFACTOR: Consider breaking out this version stuff into a separate
|
@@ -557,6 +556,10 @@ class Gem::Specification < Gem::BasicSpecification
|
|
557
556
|
# spec.add_runtime_dependency 'example', '~> 1.1', '>= 1.1.4'
|
558
557
|
|
559
558
|
def add_runtime_dependency(gem, *requirements)
|
559
|
+
if requirements.uniq.size != requirements.size
|
560
|
+
warn "WARNING: duplicated #{gem} dependency #{requirements}"
|
561
|
+
end
|
562
|
+
|
560
563
|
add_dependency_with_type(gem, :runtime, requirements)
|
561
564
|
end
|
562
565
|
|
@@ -1007,10 +1010,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
1007
1010
|
# Return currently unresolved specs that contain the file matching +path+.
|
1008
1011
|
|
1009
1012
|
def self.find_in_unresolved(path)
|
1010
|
-
|
1011
|
-
specs = unresolved_deps.values.map {|dep| dep.to_specs }.flatten
|
1012
|
-
|
1013
|
-
specs.find_all {|spec| spec.contains_requirable_file? path }
|
1013
|
+
unresolved_specs.find_all {|spec| spec.contains_requirable_file? path }
|
1014
1014
|
end
|
1015
1015
|
|
1016
1016
|
##
|
@@ -1018,9 +1018,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
1018
1018
|
# specs that contain the file matching +path+.
|
1019
1019
|
|
1020
1020
|
def self.find_in_unresolved_tree(path)
|
1021
|
-
|
1022
|
-
|
1023
|
-
specs.each do |spec|
|
1021
|
+
unresolved_specs.each do |spec|
|
1024
1022
|
spec.traverse do |from_spec, dep, to_spec, trail|
|
1025
1023
|
if to_spec.has_conflicts? || to_spec.conficts_when_loaded_with?(trail)
|
1026
1024
|
:next
|
@@ -1033,6 +1031,11 @@ class Gem::Specification < Gem::BasicSpecification
|
|
1033
1031
|
[]
|
1034
1032
|
end
|
1035
1033
|
|
1034
|
+
def self.unresolved_specs
|
1035
|
+
unresolved_deps.values.map {|dep| dep.to_specs }.flatten
|
1036
|
+
end
|
1037
|
+
private_class_method :unresolved_specs
|
1038
|
+
|
1036
1039
|
##
|
1037
1040
|
# Special loader for YAML files. When a Specification object is loaded
|
1038
1041
|
# from a YAML file, it bypasses the normal Ruby object initialization
|
@@ -1954,6 +1957,8 @@ class Gem::Specification < Gem::BasicSpecification
|
|
1954
1957
|
end
|
1955
1958
|
|
1956
1959
|
eval <<-RUBY, binding, __FILE__, __LINE__ + 1
|
1960
|
+
# frozen_string_literal: true
|
1961
|
+
|
1957
1962
|
def set_nil_attributes_to_nil
|
1958
1963
|
#{@@nil_attributes.map {|key| "@#{key} = nil" }.join "; "}
|
1959
1964
|
end
|
@@ -1988,6 +1993,10 @@ class Gem::Specification < Gem::BasicSpecification
|
|
1988
1993
|
self.name = name if name
|
1989
1994
|
self.version = version if version
|
1990
1995
|
|
1996
|
+
if platform = Gem.platforms.last and platform != Gem::Platform::RUBY and platform != Gem::Platform.local
|
1997
|
+
self.platform = platform
|
1998
|
+
end
|
1999
|
+
|
1991
2000
|
yield self if block_given?
|
1992
2001
|
end
|
1993
2002
|
|
@@ -2408,7 +2417,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
2408
2417
|
# still have their default values are omitted.
|
2409
2418
|
|
2410
2419
|
def to_ruby
|
2411
|
-
|
2420
|
+
require_relative 'openssl'
|
2412
2421
|
mark_version
|
2413
2422
|
result = []
|
2414
2423
|
result << "# -*- encoding: utf-8 -*-"
|
@@ -2448,7 +2457,7 @@ class Gem::Specification < Gem::BasicSpecification
|
|
2448
2457
|
next if handled.include? attr_name
|
2449
2458
|
current_value = self.send(attr_name)
|
2450
2459
|
if current_value != default_value(attr_name) || self.class.required_attribute?(attr_name)
|
2451
|
-
result << " s.#{attr_name} = #{ruby_code current_value}" unless current_value.is_a?(OpenSSL::PKey::RSA)
|
2460
|
+
result << " s.#{attr_name} = #{ruby_code current_value}" unless defined?(OpenSSL::PKey::RSA) && current_value.is_a?(OpenSSL::PKey::RSA)
|
2452
2461
|
end
|
2453
2462
|
end
|
2454
2463
|
|
@@ -2659,5 +2668,4 @@ class Gem::Specification < Gem::BasicSpecification
|
|
2659
2668
|
def raw_require_paths # :nodoc:
|
2660
2669
|
@require_paths
|
2661
2670
|
end
|
2662
|
-
|
2663
2671
|
end
|
@@ -1,7 +1,6 @@
|
|
1
1
|
require 'rubygems/user_interaction'
|
2
2
|
|
3
3
|
class Gem::SpecificationPolicy
|
4
|
-
|
5
4
|
include Gem::UserInteraction
|
6
5
|
|
7
6
|
VALID_NAME_PATTERN = /\A[a-zA-Z0-9\.\-\_]+\z/.freeze # :nodoc:
|
@@ -483,5 +482,4 @@ You have specified rake based extension, but rake is not added as dependency. It
|
|
483
482
|
def help_text # :nodoc:
|
484
483
|
"See https://guides.rubygems.org/specification-reference/ for help"
|
485
484
|
end
|
486
|
-
|
487
485
|
end
|
@@ -5,7 +5,6 @@
|
|
5
5
|
# information.
|
6
6
|
|
7
7
|
class Gem::StubSpecification < Gem::BasicSpecification
|
8
|
-
|
9
8
|
# :nodoc:
|
10
9
|
PREFIX = "# stub: ".freeze
|
11
10
|
|
@@ -13,7 +12,6 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
13
12
|
OPEN_MODE = 'r:UTF-8:-'.freeze
|
14
13
|
|
15
14
|
class StubLine # :nodoc: all
|
16
|
-
|
17
15
|
attr_reader :name, :version, :platform, :require_paths, :extensions,
|
18
16
|
:full_name
|
19
17
|
|
@@ -56,7 +54,6 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
56
54
|
REQUIRE_PATHS[x] || x
|
57
55
|
end
|
58
56
|
end
|
59
|
-
|
60
57
|
end
|
61
58
|
|
62
59
|
def self.default_gemspec_stub(filename, base_dir, gems_dir)
|
@@ -212,5 +209,4 @@ class Gem::StubSpecification < Gem::BasicSpecification
|
|
212
209
|
def stubbed?
|
213
210
|
data.is_a? StubLine
|
214
211
|
end
|
215
|
-
|
216
212
|
end
|
data/lib/rubygems/syck_hack.rb
CHANGED
data/lib/rubygems/test_case.rb
CHANGED
@@ -83,7 +83,6 @@ end
|
|
83
83
|
require "rubygems/command"
|
84
84
|
|
85
85
|
class Gem::Command
|
86
|
-
|
87
86
|
##
|
88
87
|
# Allows resetting the hash of specific args per command. This method is
|
89
88
|
# available when requiring 'rubygems/test_case'
|
@@ -91,7 +90,6 @@ class Gem::Command
|
|
91
90
|
def self.specific_extra_args_hash=(value)
|
92
91
|
@specific_extra_args_hash = value
|
93
92
|
end
|
94
|
-
|
95
93
|
end
|
96
94
|
|
97
95
|
##
|
@@ -101,7 +99,6 @@ end
|
|
101
99
|
# your normal set of gems is not affected.
|
102
100
|
|
103
101
|
class Gem::TestCase < Minitest::Test
|
104
|
-
|
105
102
|
extend Gem::Deprecate
|
106
103
|
|
107
104
|
attr_accessor :fetcher # :nodoc:
|
@@ -112,8 +109,6 @@ class Gem::TestCase < Minitest::Test
|
|
112
109
|
|
113
110
|
TEST_PATH = ENV.fetch('RUBYGEMS_TEST_PATH', File.expand_path('../../../test/rubygems', __FILE__))
|
114
111
|
|
115
|
-
SPECIFICATIONS = File.expand_path(File.join(TEST_PATH, "specifications"), __FILE__)
|
116
|
-
|
117
112
|
def assert_activate(expected, *specs)
|
118
113
|
specs.each do |spec|
|
119
114
|
case spec
|
@@ -283,9 +278,6 @@ class Gem::TestCase < Minitest::Test
|
|
283
278
|
|
284
279
|
include Gem::DefaultUserInteraction
|
285
280
|
|
286
|
-
undef_method :default_test if instance_methods.include? 'default_test' or
|
287
|
-
instance_methods.include? :default_test
|
288
|
-
|
289
281
|
##
|
290
282
|
# #setup prepares a sandboxed location to install gems. All installs are
|
291
283
|
# directed to a temporary directory. All install plugins are removed.
|
@@ -295,8 +287,6 @@ class Gem::TestCase < Minitest::Test
|
|
295
287
|
# or <tt>i686-darwin8.10.1</tt> otherwise.
|
296
288
|
|
297
289
|
def setup
|
298
|
-
super
|
299
|
-
|
300
290
|
@orig_env = ENV.to_hash
|
301
291
|
@tmp = File.expand_path("tmp")
|
302
292
|
|
@@ -304,6 +294,9 @@ class Gem::TestCase < Minitest::Test
|
|
304
294
|
|
305
295
|
ENV['GEM_VENDOR'] = nil
|
306
296
|
ENV['GEMRC'] = nil
|
297
|
+
ENV['XDG_CACHE_HOME'] = nil
|
298
|
+
ENV['XDG_CONFIG_HOME'] = nil
|
299
|
+
ENV['XDG_DATA_HOME'] = nil
|
307
300
|
ENV['SOURCE_DATE_EPOCH'] = nil
|
308
301
|
ENV["TMPDIR"] = @tmp
|
309
302
|
|
@@ -804,7 +797,7 @@ class Gem::TestCase < Minitest::Test
|
|
804
797
|
|
805
798
|
lib_dir = File.join(@tempdir, "default_gems", "lib")
|
806
799
|
lib_dir.instance_variable_set(:@gem_prelude_index, lib_dir)
|
807
|
-
Gem.instance_variable_set(:@default_gem_load_paths, [*Gem.
|
800
|
+
Gem.instance_variable_set(:@default_gem_load_paths, [*Gem.send(:default_gem_load_paths), lib_dir])
|
808
801
|
$LOAD_PATH.unshift(lib_dir)
|
809
802
|
files.each do |file|
|
810
803
|
rb_path = File.join(lib_dir, file)
|
@@ -1272,11 +1265,11 @@ Also, a list:
|
|
1272
1265
|
end
|
1273
1266
|
|
1274
1267
|
class << self
|
1275
|
-
|
1276
1268
|
# :nodoc:
|
1277
1269
|
##
|
1278
1270
|
# Return the join path, with escaping backticks, dollars, and
|
1279
1271
|
# double-quotes. Unlike `shellescape`, equal-sign is not escaped.
|
1272
|
+
|
1280
1273
|
private
|
1281
1274
|
|
1282
1275
|
def escape_path(*path)
|
@@ -1287,7 +1280,6 @@ Also, a list:
|
|
1287
1280
|
"\"#{path.gsub(/[`$"]/, '\\&')}\""
|
1288
1281
|
end
|
1289
1282
|
end
|
1290
|
-
|
1291
1283
|
end
|
1292
1284
|
|
1293
1285
|
@@good_rake = "#{rubybin} #{escape_path(TEST_PATH, 'good_rake.rb')}"
|
@@ -1405,7 +1397,6 @@ Also, a list:
|
|
1405
1397
|
# It is available by requiring Gem::TestCase.
|
1406
1398
|
|
1407
1399
|
class StaticSet < Gem::Resolver::Set
|
1408
|
-
|
1409
1400
|
##
|
1410
1401
|
# A StaticSet ignores remote because it has a fixed set of gems.
|
1411
1402
|
|
@@ -1460,7 +1451,6 @@ Also, a list:
|
|
1460
1451
|
|
1461
1452
|
def prefetch(reqs) # :nodoc:
|
1462
1453
|
end
|
1463
|
-
|
1464
1454
|
end
|
1465
1455
|
|
1466
1456
|
##
|
@@ -1528,7 +1518,6 @@ Also, a list:
|
|
1528
1518
|
PUBLIC_KEY = nil
|
1529
1519
|
PUBLIC_CERT = nil
|
1530
1520
|
end if defined?(OpenSSL::SSL)
|
1531
|
-
|
1532
1521
|
end
|
1533
1522
|
|
1534
1523
|
require 'rubygems/test_utilities'
|