rubygems-update 3.3.18 → 3.3.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +65 -0
- data/Manifest.txt +11 -0
- data/bin/gem +2 -2
- data/bin/update_rubygems +4 -4
- data/bundler/CHANGELOG.md +100 -0
- data/bundler/UPGRADING.md +11 -4
- data/bundler/bundler.gemspec +6 -8
- data/bundler/lib/bundler/build_metadata.rb +2 -2
- data/bundler/lib/bundler/cli/common.rb +1 -0
- data/bundler/lib/bundler/cli/install.rb +5 -2
- data/bundler/lib/bundler/cli/outdated.rb +12 -3
- data/bundler/lib/bundler/cli/platform.rb +1 -1
- data/bundler/lib/bundler/cli.rb +7 -4
- data/bundler/lib/bundler/current_ruby.rb +14 -5
- data/bundler/lib/bundler/definition.rb +102 -31
- data/bundler/lib/bundler/dependency.rb +18 -85
- data/bundler/lib/bundler/dsl.rb +2 -2
- data/bundler/lib/bundler/endpoint_specification.rb +2 -13
- data/bundler/lib/bundler/feature_flag.rb +0 -1
- data/bundler/lib/bundler/fetcher.rb +6 -6
- data/bundler/lib/bundler/gem_helpers.rb +7 -1
- data/bundler/lib/bundler/gem_version_promoter.rb +8 -18
- data/bundler/lib/bundler/index.rb +10 -12
- data/bundler/lib/bundler/injector.rb +2 -1
- data/bundler/lib/bundler/inline.rb +1 -1
- data/bundler/lib/bundler/installer/standalone.rb +1 -1
- data/bundler/lib/bundler/installer.rb +14 -12
- data/bundler/lib/bundler/lazy_specification.rb +30 -23
- data/bundler/lib/bundler/lockfile_generator.rb +1 -1
- data/bundler/lib/bundler/man/bundle-add.1 +6 -2
- data/bundler/lib/bundler/man/bundle-add.1.ronn +4 -1
- data/bundler/lib/bundler/man/bundle-binstubs.1 +1 -1
- data/bundler/lib/bundler/man/bundle-cache.1 +7 -1
- data/bundler/lib/bundler/man/bundle-cache.1.ronn +7 -0
- data/bundler/lib/bundler/man/bundle-check.1 +1 -1
- data/bundler/lib/bundler/man/bundle-clean.1 +1 -1
- data/bundler/lib/bundler/man/bundle-config.1 +25 -6
- data/bundler/lib/bundler/man/bundle-config.1.ronn +16 -6
- data/bundler/lib/bundler/man/bundle-console.1 +53 -0
- data/bundler/lib/bundler/man/bundle-console.1.ronn +44 -0
- data/bundler/lib/bundler/man/bundle-doctor.1 +1 -1
- data/bundler/lib/bundler/man/bundle-exec.1 +2 -2
- data/bundler/lib/bundler/man/bundle-exec.1.ronn +1 -1
- data/bundler/lib/bundler/man/bundle-gem.1 +1 -1
- data/bundler/lib/bundler/man/bundle-help.1 +13 -0
- data/bundler/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/bundler/lib/bundler/man/bundle-info.1 +1 -1
- data/bundler/lib/bundler/man/bundle-init.1 +1 -1
- data/bundler/lib/bundler/man/bundle-inject.1 +5 -2
- data/bundler/lib/bundler/man/bundle-inject.1.ronn +3 -1
- data/bundler/lib/bundler/man/bundle-install.1 +5 -1
- data/bundler/lib/bundler/man/bundle-install.1.ronn +6 -0
- data/bundler/lib/bundler/man/bundle-list.1 +1 -1
- data/bundler/lib/bundler/man/bundle-lock.1 +1 -1
- data/bundler/lib/bundler/man/bundle-open.1 +1 -1
- data/bundler/lib/bundler/man/bundle-outdated.1 +1 -1
- data/bundler/lib/bundler/man/bundle-platform.1 +16 -6
- data/bundler/lib/bundler/man/bundle-platform.1.ronn +14 -7
- data/bundler/lib/bundler/man/bundle-plugin.1 +81 -0
- data/bundler/lib/bundler/man/bundle-plugin.1.ronn +59 -0
- data/bundler/lib/bundler/man/bundle-pristine.1 +1 -1
- data/bundler/lib/bundler/man/bundle-remove.1 +1 -1
- data/bundler/lib/bundler/man/bundle-show.1 +1 -1
- data/bundler/lib/bundler/man/bundle-update.1 +1 -1
- data/bundler/lib/bundler/man/bundle-version.1 +35 -0
- data/bundler/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/bundler/lib/bundler/man/bundle-viz.1 +4 -1
- data/bundler/lib/bundler/man/bundle-viz.1.ronn +2 -0
- data/bundler/lib/bundler/man/bundle.1 +15 -10
- data/bundler/lib/bundler/man/bundle.1.ronn +12 -7
- data/bundler/lib/bundler/man/gemfile.5 +23 -47
- data/bundler/lib/bundler/man/gemfile.5.ronn +32 -43
- data/bundler/lib/bundler/man/index.txt +4 -0
- data/bundler/lib/bundler/match_metadata.rb +13 -0
- data/bundler/lib/bundler/match_remote_metadata.rb +29 -0
- data/bundler/lib/bundler/plugin.rb +2 -0
- data/bundler/lib/bundler/remote_specification.rb +6 -11
- data/bundler/lib/bundler/resolver/base.rb +50 -0
- data/bundler/lib/bundler/resolver/spec_group.rb +11 -8
- data/bundler/lib/bundler/resolver.rb +95 -90
- data/bundler/lib/bundler/ruby_dsl.rb +1 -1
- data/bundler/lib/bundler/ruby_version.rb +5 -5
- data/bundler/lib/bundler/rubygems_ext.rb +52 -1
- data/bundler/lib/bundler/rubygems_gem_installer.rb +19 -12
- data/bundler/lib/bundler/settings.rb +1 -1
- data/bundler/lib/bundler/source/metadata.rb +1 -1
- data/bundler/lib/bundler/source_list.rb +4 -0
- data/bundler/lib/bundler/spec_set.rb +48 -33
- data/bundler/lib/bundler/version.rb +1 -1
- data/bundler/lib/bundler.rb +3 -3
- data/lib/rubygems/available_set.rb +3 -3
- data/lib/rubygems/basic_specification.rb +4 -4
- data/lib/rubygems/command.rb +25 -25
- data/lib/rubygems/command_manager.rb +9 -9
- data/lib/rubygems/commands/build_command.rb +8 -8
- data/lib/rubygems/commands/cert_command.rb +33 -33
- data/lib/rubygems/commands/check_command.rb +20 -20
- data/lib/rubygems/commands/cleanup_command.rb +17 -17
- data/lib/rubygems/commands/contents_command.rb +13 -13
- data/lib/rubygems/commands/dependency_command.rb +16 -16
- data/lib/rubygems/commands/environment_command.rb +5 -5
- data/lib/rubygems/commands/fetch_command.rb +8 -8
- data/lib/rubygems/commands/generate_index_command.rb +17 -17
- data/lib/rubygems/commands/help_command.rb +3 -3
- data/lib/rubygems/commands/info_command.rb +3 -3
- data/lib/rubygems/commands/install_command.rb +20 -20
- data/lib/rubygems/commands/list_command.rb +3 -3
- data/lib/rubygems/commands/lock_command.rb +4 -4
- data/lib/rubygems/commands/mirror_command.rb +3 -3
- data/lib/rubygems/commands/open_command.rb +9 -9
- data/lib/rubygems/commands/outdated_command.rb +5 -5
- data/lib/rubygems/commands/owner_command.rb +11 -11
- data/lib/rubygems/commands/pristine_command.rb +36 -36
- data/lib/rubygems/commands/push_command.rb +8 -8
- data/lib/rubygems/commands/query_command.rb +8 -8
- data/lib/rubygems/commands/rdoc_command.rb +17 -17
- data/lib/rubygems/commands/search_command.rb +3 -3
- data/lib/rubygems/commands/server_command.rb +3 -3
- data/lib/rubygems/commands/setup_command.rb +96 -106
- data/lib/rubygems/commands/signin_command.rb +9 -9
- data/lib/rubygems/commands/signout_command.rb +7 -7
- data/lib/rubygems/commands/sources_command.rb +21 -21
- data/lib/rubygems/commands/specification_command.rb +13 -13
- data/lib/rubygems/commands/stale_command.rb +2 -2
- data/lib/rubygems/commands/uninstall_command.rb +40 -40
- data/lib/rubygems/commands/unpack_command.rb +12 -12
- data/lib/rubygems/commands/update_command.rb +40 -56
- data/lib/rubygems/commands/which_command.rb +7 -7
- data/lib/rubygems/commands/yank_command.rb +11 -11
- data/lib/rubygems/config_file.rb +21 -21
- data/lib/rubygems/core_ext/kernel_gem.rb +1 -1
- data/lib/rubygems/core_ext/kernel_require.rb +1 -1
- data/lib/rubygems/core_ext/kernel_warn.rb +1 -1
- data/lib/rubygems/core_ext/tcpsocket_init.rb +1 -1
- data/lib/rubygems/defaults.rb +16 -16
- data/lib/rubygems/dependency.rb +9 -9
- data/lib/rubygems/dependency_installer.rb +13 -13
- data/lib/rubygems/dependency_list.rb +6 -6
- data/lib/rubygems/doctor.rb +18 -18
- data/lib/rubygems/errors.rb +2 -2
- data/lib/rubygems/exceptions.rb +5 -5
- data/lib/rubygems/ext/build_error.rb +1 -1
- data/lib/rubygems/ext/builder.rb +16 -16
- data/lib/rubygems/ext/cargo_builder.rb +7 -7
- data/lib/rubygems/ext/cmake_builder.rb +2 -2
- data/lib/rubygems/ext/configure_builder.rb +1 -1
- data/lib/rubygems/ext/ext_conf_builder.rb +8 -8
- data/lib/rubygems/ext/rake_builder.rb +3 -3
- data/lib/rubygems/ext.rb +7 -7
- data/lib/rubygems/gem_runner.rb +5 -5
- data/lib/rubygems/gemcutter_utilities.rb +31 -28
- data/lib/rubygems/indexer.rb +27 -27
- data/lib/rubygems/install_default_message.rb +2 -2
- data/lib/rubygems/install_message.rb +2 -2
- data/lib/rubygems/install_update_options.rb +55 -55
- data/lib/rubygems/installer.rb +32 -40
- data/lib/rubygems/installer_uninstaller_utils.rb +2 -2
- data/lib/rubygems/local_remote_options.rb +18 -20
- data/lib/rubygems/mock_gem_ui.rb +2 -2
- data/lib/rubygems/name_tuple.rb +4 -4
- data/lib/rubygems/optparse.rb +1 -1
- data/lib/rubygems/package/file_source.rb +2 -2
- data/lib/rubygems/package/old.rb +8 -8
- data/lib/rubygems/package/tar_header.rb +50 -50
- data/lib/rubygems/package/tar_reader/entry.rb +2 -2
- data/lib/rubygems/package/tar_reader.rb +1 -1
- data/lib/rubygems/package/tar_writer.rb +7 -7
- data/lib/rubygems/package.rb +54 -43
- data/lib/rubygems/package_task.rb +4 -4
- data/lib/rubygems/platform.rb +66 -55
- data/lib/rubygems/psych_tree.rb +1 -1
- data/lib/rubygems/query_utils.rb +35 -35
- data/lib/rubygems/rdoc.rb +2 -2
- data/lib/rubygems/remote_fetcher.rb +22 -22
- data/lib/rubygems/request/connection_pools.rb +4 -4
- data/lib/rubygems/request/http_pool.rb +1 -1
- data/lib/rubygems/request.rb +22 -22
- data/lib/rubygems/request_set/gem_dependency_api.rb +18 -18
- data/lib/rubygems/request_set/lockfile/parser.rb +26 -26
- data/lib/rubygems/request_set/lockfile/tokenizer.rb +4 -4
- data/lib/rubygems/request_set/lockfile.rb +5 -5
- data/lib/rubygems/request_set.rb +17 -17
- data/lib/rubygems/requirement.rb +6 -6
- data/lib/rubygems/resolver/activation_request.rb +3 -3
- data/lib/rubygems/resolver/api_set.rb +4 -4
- data/lib/rubygems/resolver/api_specification.rb +6 -6
- data/lib/rubygems/resolver/best_set.rb +5 -5
- data/lib/rubygems/resolver/conflict.rb +10 -10
- data/lib/rubygems/resolver/dependency_request.rb +2 -2
- data/lib/rubygems/resolver/git_set.rb +2 -2
- data/lib/rubygems/resolver/git_specification.rb +6 -6
- data/lib/rubygems/resolver/index_set.rb +3 -3
- data/lib/rubygems/resolver/index_specification.rb +6 -5
- data/lib/rubygems/resolver/installed_specification.rb +4 -4
- data/lib/rubygems/resolver/installer_set.rb +11 -16
- data/lib/rubygems/resolver/local_specification.rb +2 -2
- data/lib/rubygems/resolver/lock_set.rb +4 -4
- data/lib/rubygems/resolver/lock_specification.rb +4 -4
- data/lib/rubygems/resolver/molinillo.rb +1 -1
- data/lib/rubygems/resolver/specification.rb +1 -1
- data/lib/rubygems/resolver/vendor_set.rb +1 -1
- data/lib/rubygems/resolver/vendor_specification.rb +3 -3
- data/lib/rubygems/resolver.rb +39 -39
- data/lib/rubygems/s3_uri_signer.rb +6 -6
- data/lib/rubygems/safe_yaml.rb +2 -2
- data/lib/rubygems/security/policies.rb +11 -11
- data/lib/rubygems/security/policy.rb +18 -18
- data/lib/rubygems/security/signer.rb +5 -5
- data/lib/rubygems/security/trust_dir.rb +3 -3
- data/lib/rubygems/security.rb +28 -28
- data/lib/rubygems/security_option.rb +5 -5
- data/lib/rubygems/source/git.rb +21 -21
- data/lib/rubygems/source/installed.rb +1 -1
- data/lib/rubygems/source/local.rb +2 -2
- data/lib/rubygems/source/specific_file.rb +1 -1
- data/lib/rubygems/source.rb +16 -16
- data/lib/rubygems/spec_fetcher.rb +9 -9
- data/lib/rubygems/specification.rb +63 -62
- data/lib/rubygems/specification_policy.rb +15 -15
- data/lib/rubygems/stub_specification.rb +5 -5
- data/lib/rubygems/tsort.rb +1 -1
- data/lib/rubygems/uninstaller.rb +18 -18
- data/lib/rubygems/uri.rb +4 -4
- data/lib/rubygems/uri_formatter.rb +1 -1
- data/lib/rubygems/user_interaction.rb +33 -19
- data/lib/rubygems/util/licenses.rb +3 -3
- data/lib/rubygems/util.rb +10 -10
- data/lib/rubygems/validator.rb +5 -5
- data/lib/rubygems/version.rb +15 -9
- data/lib/rubygems/version_option.rb +3 -3
- data/lib/rubygems.rb +62 -61
- data/rubygems-update.gemspec +2 -2
- data/setup.rb +9 -9
- data/test/rubygems/helper.rb +132 -134
- data/test/rubygems/installer_test_case.rb +13 -13
- data/test/rubygems/package/tar_test_case.rb +2 -2
- data/test/rubygems/plugin/exception/rubygems_plugin.rb +1 -1
- data/test/rubygems/plugin/standarderror/rubygems_plugin.rb +1 -1
- data/test/rubygems/rubygems_plugin.rb +2 -2
- data/test/rubygems/specifications/rubyforge-0.0.1.gemspec +4 -4
- data/test/rubygems/test_bundled_ca.rb +10 -10
- data/test/rubygems/test_config.rb +3 -3
- data/test/rubygems/test_deprecate.rb +3 -3
- data/test/rubygems/test_exit.rb +2 -2
- data/test/rubygems/test_gem.rb +342 -342
- data/test/rubygems/test_gem_available_set.rb +21 -21
- data/test/rubygems/test_gem_bundler_version_finder.rb +1 -1
- data/test/rubygems/test_gem_command.rb +44 -44
- data/test/rubygems/test_gem_command_manager.rb +29 -29
- data/test/rubygems/test_gem_commands_build_command.rb +63 -63
- data/test/rubygems/test_gem_commands_cert_command.rb +97 -99
- data/test/rubygems/test_gem_commands_check_command.rb +4 -4
- data/test/rubygems/test_gem_commands_cleanup_command.rb +40 -40
- data/test/rubygems/test_gem_commands_contents_command.rb +27 -27
- data/test/rubygems/test_gem_commands_dependency_command.rb +36 -36
- data/test/rubygems/test_gem_commands_environment_command.rb +16 -16
- data/test/rubygems/test_gem_commands_fetch_command.rb +37 -37
- data/test/rubygems/test_gem_commands_generate_index_command.rb +7 -7
- data/test/rubygems/test_gem_commands_help_command.rb +13 -13
- data/test/rubygems/test_gem_commands_info_command.rb +28 -2
- data/test/rubygems/test_gem_commands_install_command.rb +131 -131
- data/test/rubygems/test_gem_commands_list_command.rb +4 -4
- data/test/rubygems/test_gem_commands_lock_command.rb +10 -10
- data/test/rubygems/test_gem_commands_mirror.rb +2 -2
- data/test/rubygems/test_gem_commands_open_command.rb +4 -4
- data/test/rubygems/test_gem_commands_outdated_command.rb +9 -9
- data/test/rubygems/test_gem_commands_owner_command.rb +41 -41
- data/test/rubygems/test_gem_commands_pristine_command.rb +92 -92
- data/test/rubygems/test_gem_commands_push_command.rb +54 -54
- data/test/rubygems/test_gem_commands_query_command.rb +73 -73
- data/test/rubygems/test_gem_commands_search_command.rb +2 -2
- data/test/rubygems/test_gem_commands_server_command.rb +2 -2
- data/test/rubygems/test_gem_commands_setup_command.rb +119 -85
- data/test/rubygems/test_gem_commands_signin_command.rb +45 -31
- data/test/rubygems/test_gem_commands_signout_command.rb +3 -3
- data/test/rubygems/test_gem_commands_sources_command.rb +28 -29
- data/test/rubygems/test_gem_commands_specification_command.rb +32 -32
- data/test/rubygems/test_gem_commands_stale_command.rb +4 -4
- data/test/rubygems/test_gem_commands_uninstall_command.rb +75 -75
- data/test/rubygems/test_gem_commands_unpack_command.rb +31 -31
- data/test/rubygems/test_gem_commands_update_command.rb +89 -89
- data/test/rubygems/test_gem_commands_which_command.rb +6 -6
- data/test/rubygems/test_gem_commands_yank_command.rb +40 -40
- data/test/rubygems/test_gem_config_file.rb +93 -81
- data/test/rubygems/test_gem_dependency.rb +73 -73
- data/test/rubygems/test_gem_dependency_installer.rb +165 -165
- data/test/rubygems/test_gem_dependency_list.rb +47 -47
- data/test/rubygems/test_gem_dependency_resolution_error.rb +4 -4
- data/test/rubygems/test_gem_doctor.rb +26 -26
- data/test/rubygems/test_gem_ext_builder.rb +59 -59
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder/custom_name/custom_name.gemspec +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.lock +6 -6
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/Cargo.toml +1 -1
- data/test/rubygems/test_gem_ext_cargo_builder/rust_ruby_example/build.rb +8 -8
- data/test/rubygems/test_gem_ext_cargo_builder.rb +26 -26
- data/test/rubygems/test_gem_ext_cargo_builder_link_flag_converter.rb +3 -3
- data/test/rubygems/test_gem_ext_cargo_builder_unit.rb +23 -23
- data/test/rubygems/test_gem_ext_cmake_builder.rb +15 -15
- data/test/rubygems/test_gem_ext_configure_builder.rb +13 -13
- data/test/rubygems/test_gem_ext_ext_conf_builder.rb +51 -52
- data/test/rubygems/test_gem_ext_rake_builder.rb +15 -15
- data/test/rubygems/test_gem_gem_runner.rb +7 -7
- data/test/rubygems/test_gem_gemcutter_utilities.rb +66 -66
- data/test/rubygems/test_gem_impossible_dependencies_error.rb +4 -4
- data/test/rubygems/test_gem_indexer.rb +48 -48
- data/test/rubygems/test_gem_install_update_options.rb +16 -16
- data/test/rubygems/test_gem_installer.rb +303 -300
- data/test/rubygems/test_gem_local_remote_options.rb +10 -10
- data/test/rubygems/test_gem_name_tuple.rb +4 -4
- data/test/rubygems/test_gem_package.rb +228 -206
- data/test/rubygems/test_gem_package_old.rb +13 -13
- data/test/rubygems/test_gem_package_tar_header.rb +42 -42
- data/test/rubygems/test_gem_package_tar_reader.rb +8 -8
- data/test/rubygems/test_gem_package_tar_reader_entry.rb +10 -10
- data/test/rubygems/test_gem_package_tar_writer.rb +76 -76
- data/test/rubygems/test_gem_package_task.rb +18 -18
- data/test/rubygems/test_gem_path_support.rb +14 -14
- data/test/rubygems/test_gem_platform.rb +298 -227
- data/test/rubygems/test_gem_rdoc.rb +14 -14
- data/test/rubygems/test_gem_remote_fetcher.rb +149 -149
- data/test/rubygems/test_gem_request.rb +55 -55
- data/test/rubygems/test_gem_request_connection_pools.rb +29 -29
- data/test/rubygems/test_gem_request_set.rb +99 -99
- data/test/rubygems/test_gem_request_set_gem_dependency_api.rb +204 -206
- data/test/rubygems/test_gem_request_set_lockfile.rb +86 -86
- data/test/rubygems/test_gem_request_set_lockfile_parser.rb +56 -56
- data/test/rubygems/test_gem_request_set_lockfile_tokenizer.rb +62 -62
- data/test/rubygems/test_gem_requirement.rb +47 -41
- data/test/rubygems/test_gem_resolver.rb +133 -99
- data/test/rubygems/test_gem_resolver_activation_request.rb +6 -6
- data/test/rubygems/test_gem_resolver_api_set.rb +33 -33
- data/test/rubygems/test_gem_resolver_api_specification.rb +47 -47
- data/test/rubygems/test_gem_resolver_best_set.rb +22 -22
- data/test/rubygems/test_gem_resolver_composed_set.rb +1 -1
- data/test/rubygems/test_gem_resolver_conflict.rb +12 -12
- data/test/rubygems/test_gem_resolver_dependency_request.rb +15 -15
- data/test/rubygems/test_gem_resolver_git_set.rb +21 -21
- data/test/rubygems/test_gem_resolver_git_specification.rb +21 -21
- data/test/rubygems/test_gem_resolver_index_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_index_specification.rb +16 -16
- data/test/rubygems/test_gem_resolver_installed_specification.rb +5 -5
- data/test/rubygems/test_gem_resolver_installer_set.rb +78 -34
- data/test/rubygems/test_gem_resolver_local_specification.rb +7 -7
- data/test/rubygems/test_gem_resolver_lock_set.rb +12 -12
- data/test/rubygems/test_gem_resolver_lock_specification.rb +17 -17
- data/test/rubygems/test_gem_resolver_requirement_list.rb +1 -1
- data/test/rubygems/test_gem_resolver_specification.rb +8 -8
- data/test/rubygems/test_gem_resolver_vendor_set.rb +6 -6
- data/test/rubygems/test_gem_resolver_vendor_specification.rb +10 -10
- data/test/rubygems/test_gem_security.rb +67 -67
- data/test/rubygems/test_gem_security_policy.rb +62 -62
- data/test/rubygems/test_gem_security_signer.rb +28 -28
- data/test/rubygems/test_gem_security_trust_dir.rb +4 -4
- data/test/rubygems/test_gem_silent_ui.rb +38 -32
- data/test/rubygems/test_gem_source.rb +44 -44
- data/test/rubygems/test_gem_source_fetch_problem.rb +9 -9
- data/test/rubygems/test_gem_source_git.rb +59 -59
- data/test/rubygems/test_gem_source_installed.rb +16 -16
- data/test/rubygems/test_gem_source_list.rb +5 -5
- data/test/rubygems/test_gem_source_local.rb +14 -14
- data/test/rubygems/test_gem_source_lock.rb +31 -31
- data/test/rubygems/test_gem_source_specific_file.rb +17 -17
- data/test/rubygems/test_gem_source_subpath_problem.rb +7 -7
- data/test/rubygems/test_gem_source_vendor.rb +13 -13
- data/test/rubygems/test_gem_spec_fetcher.rb +72 -72
- data/test/rubygems/test_gem_specification.rb +444 -436
- data/test/rubygems/test_gem_stream_ui.rb +19 -19
- data/test/rubygems/test_gem_stub_specification.rb +32 -32
- data/test/rubygems/test_gem_text.rb +1 -1
- data/test/rubygems/test_gem_uninstaller.rb +112 -112
- data/test/rubygems/test_gem_unsatisfiable_dependency_error.rb +3 -3
- data/test/rubygems/test_gem_uri.rb +4 -4
- data/test/rubygems/test_gem_uri_formatter.rb +14 -14
- data/test/rubygems/test_gem_util.rb +23 -23
- data/test/rubygems/test_gem_validator.rb +8 -8
- data/test/rubygems/test_gem_version.rb +22 -15
- data/test/rubygems/test_gem_version_option.rb +15 -15
- data/test/rubygems/test_kernel.rb +31 -31
- data/test/rubygems/test_project_sanity.rb +1 -1
- data/test/rubygems/test_remote_fetch_error.rb +6 -6
- data/test/rubygems/test_require.rb +43 -43
- data/test/rubygems/test_rubygems.rb +8 -8
- data/test/rubygems/utilities.rb +19 -19
- metadata +14 -3
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
2
|
+
require_relative "../command"
|
3
|
+
require_relative "../local_remote_options"
|
4
|
+
require_relative "../version_option"
|
5
|
+
require_relative "../package"
|
6
6
|
|
7
7
|
class Gem::Commands::SpecificationCommand < Gem::Command
|
8
8
|
include Gem::LocalRemoteOptions
|
@@ -11,28 +11,28 @@ class Gem::Commands::SpecificationCommand < Gem::Command
|
|
11
11
|
def initialize
|
12
12
|
Gem.load_yaml
|
13
13
|
|
14
|
-
super
|
14
|
+
super "specification", "Display gem specification (in yaml)",
|
15
15
|
:domain => :local, :version => Gem::Requirement.default,
|
16
16
|
:format => :yaml
|
17
17
|
|
18
|
-
add_version_option(
|
18
|
+
add_version_option("examine")
|
19
19
|
add_platform_option
|
20
20
|
add_prerelease_option
|
21
21
|
|
22
|
-
add_option(
|
23
|
-
|
22
|
+
add_option("--all", "Output specifications for all versions of",
|
23
|
+
"the gem") do |value, options|
|
24
24
|
options[:all] = true
|
25
25
|
end
|
26
26
|
|
27
|
-
add_option(
|
27
|
+
add_option("--ruby", "Output ruby format") do |value, options|
|
28
28
|
options[:format] = :ruby
|
29
29
|
end
|
30
30
|
|
31
|
-
add_option(
|
31
|
+
add_option("--yaml", "Output YAML format") do |value, options|
|
32
32
|
options[:format] = :yaml
|
33
33
|
end
|
34
34
|
|
35
|
-
add_option(
|
35
|
+
add_option("--marshal", "Output Marshal format") do |value, options|
|
36
36
|
options[:format] = :marshal
|
37
37
|
end
|
38
38
|
|
@@ -88,7 +88,7 @@ Specific fields in the specification can be extracted in YAML format:
|
|
88
88
|
raise Gem::CommandLineError, "Unsupported version type: '#{v}'"
|
89
89
|
end
|
90
90
|
|
91
|
-
if !req.none?
|
91
|
+
if !req.none? && options[:all]
|
92
92
|
alert_error "Specify --all or -v, not both"
|
93
93
|
terminate_interaction 1
|
94
94
|
end
|
@@ -102,7 +102,7 @@ Specific fields in the specification can be extracted in YAML format:
|
|
102
102
|
field = get_one_optional_argument
|
103
103
|
|
104
104
|
raise Gem::CommandLineError, "--ruby and FIELD are mutually exclusive" if
|
105
|
-
field
|
105
|
+
field && options[:format] == :ruby
|
106
106
|
|
107
107
|
if local?
|
108
108
|
if File.exist? gem
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
2
|
+
require_relative "../command"
|
3
3
|
|
4
4
|
class Gem::Commands::StaleCommand < Gem::Command
|
5
5
|
def initialize
|
6
|
-
super(
|
6
|
+
super("stale", "List gems along with access times")
|
7
7
|
end
|
8
8
|
|
9
9
|
def description # :nodoc:
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require
|
2
|
+
require_relative "../command"
|
3
|
+
require_relative "../version_option"
|
4
|
+
require_relative "../uninstaller"
|
5
|
+
require "fileutils"
|
6
6
|
|
7
7
|
##
|
8
8
|
# Gem uninstaller command line tool
|
@@ -13,78 +13,78 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
13
13
|
include Gem::VersionOption
|
14
14
|
|
15
15
|
def initialize
|
16
|
-
super
|
16
|
+
super "uninstall", "Uninstall gems from the local repository",
|
17
17
|
:version => Gem::Requirement.default, :user_install => true,
|
18
18
|
:check_dev => false, :vendor => false
|
19
19
|
|
20
|
-
add_option(
|
21
|
-
|
20
|
+
add_option("-a", "--[no-]all",
|
21
|
+
"Uninstall all matching versions"
|
22
22
|
) do |value, options|
|
23
23
|
options[:all] = value
|
24
24
|
end
|
25
25
|
|
26
|
-
add_option(
|
27
|
-
|
28
|
-
|
26
|
+
add_option("-I", "--[no-]ignore-dependencies",
|
27
|
+
"Ignore dependency requirements while",
|
28
|
+
"uninstalling") do |value, options|
|
29
29
|
options[:ignore] = value
|
30
30
|
end
|
31
31
|
|
32
|
-
add_option(
|
33
|
-
|
34
|
-
|
32
|
+
add_option("-D", "--[no-]check-development",
|
33
|
+
"Check development dependencies while uninstalling",
|
34
|
+
"(default: false)") do |value, options|
|
35
35
|
options[:check_dev] = value
|
36
36
|
end
|
37
37
|
|
38
|
-
add_option(
|
39
|
-
|
40
|
-
|
38
|
+
add_option("-x", "--[no-]executables",
|
39
|
+
"Uninstall applicable executables without",
|
40
|
+
"confirmation") do |value, options|
|
41
41
|
options[:executables] = value
|
42
42
|
end
|
43
43
|
|
44
|
-
add_option(
|
45
|
-
|
44
|
+
add_option("-i", "--install-dir DIR",
|
45
|
+
"Directory to uninstall gem from") do |value, options|
|
46
46
|
options[:install_dir] = File.expand_path(value)
|
47
47
|
end
|
48
48
|
|
49
|
-
add_option(
|
50
|
-
|
49
|
+
add_option("-n", "--bindir DIR",
|
50
|
+
"Directory to remove executables from") do |value, options|
|
51
51
|
options[:bin_dir] = File.expand_path(value)
|
52
52
|
end
|
53
53
|
|
54
|
-
add_option(
|
55
|
-
|
56
|
-
|
54
|
+
add_option("--[no-]user-install",
|
55
|
+
"Uninstall from user's home directory",
|
56
|
+
"in addition to GEM_HOME.") do |value, options|
|
57
57
|
options[:user_install] = value
|
58
58
|
end
|
59
59
|
|
60
|
-
add_option(
|
61
|
-
|
60
|
+
add_option("--[no-]format-executable",
|
61
|
+
"Assume executable names match Ruby's prefix and suffix.") do |value, options|
|
62
62
|
options[:format_executable] = value
|
63
63
|
end
|
64
64
|
|
65
|
-
add_option(
|
66
|
-
|
67
|
-
|
65
|
+
add_option("--[no-]force",
|
66
|
+
"Uninstall all versions of the named gems",
|
67
|
+
"ignoring dependencies") do |value, options|
|
68
68
|
options[:force] = value
|
69
69
|
end
|
70
70
|
|
71
|
-
add_option(
|
72
|
-
|
73
|
-
|
71
|
+
add_option("--[no-]abort-on-dependent",
|
72
|
+
"Prevent uninstalling gems that are",
|
73
|
+
"depended on by other gems.") do |value, options|
|
74
74
|
options[:abort_on_dependent] = value
|
75
75
|
end
|
76
76
|
|
77
77
|
add_version_option
|
78
78
|
add_platform_option
|
79
79
|
|
80
|
-
add_option(
|
81
|
-
|
82
|
-
|
80
|
+
add_option("--vendor",
|
81
|
+
"Uninstall gem from the vendor directory.",
|
82
|
+
"Only for use by gem repackagers.") do |value, options|
|
83
83
|
unless Gem.vendor_dir
|
84
|
-
raise Gem::OptionParser::InvalidOption.new
|
84
|
+
raise Gem::OptionParser::InvalidOption.new "your platform is not supported"
|
85
85
|
end
|
86
86
|
|
87
|
-
alert_warning
|
87
|
+
alert_warning "Use your OS package manager to uninstall vendor gems"
|
88
88
|
options[:vendor] = true
|
89
89
|
options[:install_dir] = Gem.vendor_dir
|
90
90
|
end
|
@@ -96,7 +96,7 @@ class Gem::Commands::UninstallCommand < Gem::Command
|
|
96
96
|
|
97
97
|
def defaults_str # :nodoc:
|
98
98
|
"--version '#{Gem::Requirement.default}' --no-force " +
|
99
|
-
|
99
|
+
"--user-install"
|
100
100
|
end
|
101
101
|
|
102
102
|
def description # :nodoc:
|
@@ -114,8 +114,8 @@ that is a dependency of an existing gem. You can use the
|
|
114
114
|
end
|
115
115
|
|
116
116
|
def check_version # :nodoc:
|
117
|
-
if options[:version] != Gem::Requirement.default
|
118
|
-
|
117
|
+
if options[:version] != Gem::Requirement.default &&
|
118
|
+
get_all_gem_names.size > 1
|
119
119
|
alert_error "Can't use --version with multiple gems. You can specify multiple gems with" \
|
120
120
|
" version requirements using `gem uninstall 'my_gem:1.0.0' 'my_other_gem:~>2.0.0'`"
|
121
121
|
terminate_interaction 1
|
@@ -125,7 +125,7 @@ that is a dependency of an existing gem. You can use the
|
|
125
125
|
def execute
|
126
126
|
check_version
|
127
127
|
|
128
|
-
if options[:all]
|
128
|
+
if options[:all] && !options[:args].empty?
|
129
129
|
uninstall_specific
|
130
130
|
elsif options[:all]
|
131
131
|
uninstall_all
|
@@ -1,9 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
6
|
-
require_relative
|
2
|
+
require_relative "../command"
|
3
|
+
require_relative "../version_option"
|
4
|
+
require_relative "../security_option"
|
5
|
+
require_relative "../remote_fetcher"
|
6
|
+
require_relative "../package"
|
7
7
|
|
8
8
|
# forward-declare
|
9
9
|
|
@@ -17,18 +17,18 @@ class Gem::Commands::UnpackCommand < Gem::Command
|
|
17
17
|
include Gem::SecurityOption
|
18
18
|
|
19
19
|
def initialize
|
20
|
-
require
|
20
|
+
require "fileutils"
|
21
21
|
|
22
|
-
super
|
22
|
+
super "unpack", "Unpack an installed gem to the current directory",
|
23
23
|
:version => Gem::Requirement.default,
|
24
24
|
:target => Dir.pwd
|
25
25
|
|
26
|
-
add_option(
|
27
|
-
|
26
|
+
add_option("--target=DIR",
|
27
|
+
"target directory for unpacking") do |value, options|
|
28
28
|
options[:target] = value
|
29
29
|
end
|
30
30
|
|
31
|
-
add_option(
|
31
|
+
add_option("--spec", "unpack the gem specification") do |value, options|
|
32
32
|
options[:spec] = true
|
33
33
|
end
|
34
34
|
|
@@ -103,11 +103,11 @@ command help for an example.
|
|
103
103
|
end
|
104
104
|
end
|
105
105
|
|
106
|
-
File.open destination,
|
106
|
+
File.open destination, "w" do |io|
|
107
107
|
io.write metadata
|
108
108
|
end
|
109
109
|
else
|
110
|
-
basename = File.basename path,
|
110
|
+
basename = File.basename path, ".gem"
|
111
111
|
target_dir = File.expand_path basename, options[:target]
|
112
112
|
|
113
113
|
package = Gem::Package.new path, security_policy
|
@@ -1,13 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
6
|
-
require_relative
|
7
|
-
require_relative
|
8
|
-
require_relative
|
9
|
-
require_relative
|
10
|
-
require_relative
|
2
|
+
require_relative "../command"
|
3
|
+
require_relative "../command_manager"
|
4
|
+
require_relative "../dependency_installer"
|
5
|
+
require_relative "../install_update_options"
|
6
|
+
require_relative "../local_remote_options"
|
7
|
+
require_relative "../spec_fetcher"
|
8
|
+
require_relative "../version_option"
|
9
|
+
require_relative "../install_message" # must come before rdoc for messaging
|
10
|
+
require_relative "../rdoc"
|
11
11
|
|
12
12
|
class Gem::Commands::UpdateCommand < Gem::Command
|
13
13
|
include Gem::InstallUpdateOptions
|
@@ -25,7 +25,7 @@ class Gem::Commands::UpdateCommand < Gem::Command
|
|
25
25
|
|
26
26
|
options.merge!(install_update_options)
|
27
27
|
|
28
|
-
super
|
28
|
+
super "update", "Update installed gems to the latest version", options
|
29
29
|
|
30
30
|
add_install_update_options
|
31
31
|
|
@@ -35,8 +35,8 @@ class Gem::Commands::UpdateCommand < Gem::Command
|
|
35
35
|
value
|
36
36
|
end
|
37
37
|
|
38
|
-
add_option(
|
39
|
-
|
38
|
+
add_option("--system [VERSION]", Gem::Version,
|
39
|
+
"Update the RubyGems system software") do |value, options|
|
40
40
|
value = true unless value
|
41
41
|
|
42
42
|
options[:system] = value
|
@@ -56,7 +56,7 @@ class Gem::Commands::UpdateCommand < Gem::Command
|
|
56
56
|
|
57
57
|
def defaults_str # :nodoc:
|
58
58
|
"--no-force --install-dir #{Gem.dir}\n" +
|
59
|
-
|
59
|
+
install_update_defaults_str
|
60
60
|
end
|
61
61
|
|
62
62
|
def description # :nodoc:
|
@@ -155,7 +155,7 @@ command to remove old versions.
|
|
155
155
|
Gem::Specification.dirs = Gem.user_dir if options[:user_install]
|
156
156
|
|
157
157
|
Gem::Specification.each do |spec|
|
158
|
-
if hig[spec.name].nil?
|
158
|
+
if hig[spec.name].nil? || hig[spec.name].version < spec.version
|
159
159
|
hig[spec.name] = spec
|
160
160
|
end
|
161
161
|
end
|
@@ -166,13 +166,8 @@ command to remove old versions.
|
|
166
166
|
def highest_remote_name_tuple(spec) # :nodoc:
|
167
167
|
spec_tuples = fetch_remote_gems spec
|
168
168
|
|
169
|
-
|
170
|
-
|
171
|
-
end
|
172
|
-
|
173
|
-
highest_remote_gem = matching_gems.max
|
174
|
-
|
175
|
-
highest_remote_gem ||= [Gem::NameTuple.null]
|
169
|
+
highest_remote_gem = spec_tuples.max
|
170
|
+
return unless highest_remote_gem
|
176
171
|
|
177
172
|
highest_remote_gem.first
|
178
173
|
end
|
@@ -181,13 +176,13 @@ command to remove old versions.
|
|
181
176
|
args = update_rubygems_arguments
|
182
177
|
version = spec.version
|
183
178
|
|
184
|
-
update_dir = File.join spec.base_dir,
|
179
|
+
update_dir = File.join spec.base_dir, "gems", "rubygems-update-#{version}"
|
185
180
|
|
186
181
|
Dir.chdir update_dir do
|
187
182
|
say "Installing RubyGems #{version}" unless options[:silent]
|
188
183
|
|
189
184
|
installed = preparing_gem_layout_for(version) do
|
190
|
-
system Gem.ruby,
|
185
|
+
system Gem.ruby, "--disable-gems", "setup.rb", *args
|
191
186
|
end
|
192
187
|
|
193
188
|
say "RubyGems system software updated" if installed unless options[:silent]
|
@@ -218,30 +213,22 @@ command to remove old versions.
|
|
218
213
|
version = options[:system]
|
219
214
|
update_latest = version == true
|
220
215
|
|
221
|
-
|
222
|
-
version = Gem::Version.new Gem::VERSION
|
223
|
-
requirement = Gem::Requirement.new ">= #{Gem::VERSION}"
|
224
|
-
else
|
216
|
+
unless update_latest
|
225
217
|
version = Gem::Version.new version
|
226
218
|
requirement = Gem::Requirement.new version
|
219
|
+
|
220
|
+
return version, requirement
|
227
221
|
end
|
228
222
|
|
223
|
+
version = Gem::Version.new Gem::VERSION
|
224
|
+
requirement = Gem::Requirement.new ">= #{Gem::VERSION}"
|
225
|
+
|
229
226
|
rubygems_update = Gem::Specification.new
|
230
|
-
rubygems_update.name =
|
227
|
+
rubygems_update.name = "rubygems-update"
|
231
228
|
rubygems_update.version = version
|
232
229
|
|
233
|
-
|
234
|
-
|
235
|
-
}
|
236
|
-
|
237
|
-
gems_to_update = which_to_update hig, options[:args], :system
|
238
|
-
up_ver = gems_to_update.first.version
|
239
|
-
|
240
|
-
target = if update_latest
|
241
|
-
up_ver
|
242
|
-
else
|
243
|
-
version
|
244
|
-
end
|
230
|
+
highest_remote_tup = highest_remote_name_tuple(rubygems_update)
|
231
|
+
target = highest_remote_tup ? highest_remote_tup.version : version
|
245
232
|
|
246
233
|
return target, requirement
|
247
234
|
end
|
@@ -291,8 +278,8 @@ command to remove old versions.
|
|
291
278
|
|
292
279
|
check_oldest_rubygems version
|
293
280
|
|
294
|
-
installed_gems = Gem::Specification.find_all_by_name
|
295
|
-
installed_gems = update_gem(
|
281
|
+
installed_gems = Gem::Specification.find_all_by_name "rubygems-update", requirement
|
282
|
+
installed_gems = update_gem("rubygems-update", version) if installed_gems.empty? || installed_gems.first.version != version
|
296
283
|
return if installed_gems.empty?
|
297
284
|
|
298
285
|
install_rubygems installed_gems.first
|
@@ -300,30 +287,27 @@ command to remove old versions.
|
|
300
287
|
|
301
288
|
def update_rubygems_arguments # :nodoc:
|
302
289
|
args = []
|
303
|
-
args <<
|
304
|
-
args <<
|
305
|
-
args <<
|
306
|
-
args <<
|
307
|
-
args <<
|
308
|
-
options[:system] == true
|
309
|
-
|
290
|
+
args << "--silent" if options[:silent]
|
291
|
+
args << "--prefix" << Gem.prefix if Gem.prefix
|
292
|
+
args << "--no-document" unless options[:document].include?("rdoc") || options[:document].include?("ri")
|
293
|
+
args << "--no-format-executable" if options[:no_format_executable]
|
294
|
+
args << "--previous-version" << Gem::VERSION if
|
295
|
+
options[:system] == true ||
|
296
|
+
Gem::Version.new(options[:system]) >= Gem::Version.new(2)
|
310
297
|
args
|
311
298
|
end
|
312
299
|
|
313
|
-
def which_to_update(highest_installed_gems, gem_names
|
300
|
+
def which_to_update(highest_installed_gems, gem_names)
|
314
301
|
result = []
|
315
302
|
|
316
303
|
highest_installed_gems.each do |l_name, l_spec|
|
317
|
-
next if
|
304
|
+
next if !gem_names.empty? &&
|
318
305
|
gem_names.none? {|name| name == l_spec.name }
|
319
306
|
|
320
307
|
highest_remote_tup = highest_remote_name_tuple l_spec
|
321
|
-
|
322
|
-
highest_installed_ver = l_spec.version
|
308
|
+
next unless highest_remote_tup
|
323
309
|
|
324
|
-
|
325
|
-
result << Gem::NameTuple.new(l_spec.name, [highest_installed_ver, highest_remote_ver].max, highest_remote_tup.platform)
|
326
|
-
end
|
310
|
+
result << highest_remote_tup
|
327
311
|
end
|
328
312
|
|
329
313
|
result
|
@@ -1,17 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
2
|
+
require_relative "../command"
|
3
3
|
|
4
4
|
class Gem::Commands::WhichCommand < Gem::Command
|
5
5
|
def initialize
|
6
|
-
super
|
6
|
+
super "which", "Find the location of a library file you can require",
|
7
7
|
:search_gems_first => false, :show_all => false
|
8
8
|
|
9
|
-
add_option
|
9
|
+
add_option "-a", "--[no-]all", "show all matching files" do |show_all, options|
|
10
10
|
options[:show_all] = show_all
|
11
11
|
end
|
12
12
|
|
13
|
-
add_option
|
14
|
-
|
13
|
+
add_option "-g", "--[no-]gems-first",
|
14
|
+
"search gems before non-gems" do |gems_first, options|
|
15
15
|
options[:search_gems_first] = gems_first
|
16
16
|
end
|
17
17
|
end
|
@@ -39,7 +39,7 @@ requiring to see why it does not behave as you expect.
|
|
39
39
|
found = true
|
40
40
|
|
41
41
|
options[:args].each do |arg|
|
42
|
-
arg = arg.sub(/#{Regexp.union(*Gem.suffixes)}$/,
|
42
|
+
arg = arg.sub(/#{Regexp.union(*Gem.suffixes)}$/, "")
|
43
43
|
dirs = $LOAD_PATH
|
44
44
|
|
45
45
|
spec = Gem::Specification.find_by_path arg
|
@@ -71,7 +71,7 @@ requiring to see why it does not behave as you expect.
|
|
71
71
|
dirs.each do |dir|
|
72
72
|
Gem.suffixes.each do |ext|
|
73
73
|
full_path = File.join dir, "#{package_name}#{ext}"
|
74
|
-
if File.exist?
|
74
|
+
if File.exist?(full_path) && !File.directory?(full_path)
|
75
75
|
result << full_path
|
76
76
|
return result unless options[:show_all]
|
77
77
|
end
|
@@ -1,8 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
|
-
require_relative
|
3
|
-
require_relative
|
4
|
-
require_relative
|
5
|
-
require_relative
|
2
|
+
require_relative "../command"
|
3
|
+
require_relative "../local_remote_options"
|
4
|
+
require_relative "../version_option"
|
5
|
+
require_relative "../gemcutter_utilities"
|
6
6
|
|
7
7
|
class Gem::Commands::YankCommand < Gem::Command
|
8
8
|
include Gem::LocalRemoteOptions
|
@@ -28,15 +28,15 @@ data you will need to change them immediately and yank your gem.
|
|
28
28
|
end
|
29
29
|
|
30
30
|
def initialize
|
31
|
-
super
|
31
|
+
super "yank", "Remove a pushed gem from the index"
|
32
32
|
|
33
33
|
add_version_option("remove")
|
34
34
|
add_platform_option("remove")
|
35
35
|
add_otp_option
|
36
36
|
|
37
|
-
add_option(
|
38
|
-
|
39
|
-
|
37
|
+
add_option("--host HOST",
|
38
|
+
"Yank from another gemcutter-compatible host",
|
39
|
+
" (e.g. https://rubygems.org)") do |value, options|
|
40
40
|
options[:host] = value
|
41
41
|
end
|
42
42
|
|
@@ -76,10 +76,10 @@ data you will need to change them immediately and yank your gem.
|
|
76
76
|
request.add_field("Authorization", api_key)
|
77
77
|
|
78
78
|
data = {
|
79
|
-
|
80
|
-
|
79
|
+
"gem_name" => name,
|
80
|
+
"version" => version,
|
81
81
|
}
|
82
|
-
data[
|
82
|
+
data["platform"] = platform if platform
|
83
83
|
|
84
84
|
request.set_form_data data
|
85
85
|
end
|