bundler-clone 4.0.15
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 +7 -0
- data/CHANGELOG.md +5670 -0
- data/LICENSE.md +22 -0
- data/README.md +58 -0
- data/bundler.gemspec +46 -0
- data/exe/bundle +29 -0
- data/exe/bundler +4 -0
- data/lib/bundler/.document +1 -0
- data/lib/bundler/build_metadata.rb +44 -0
- data/lib/bundler/capistrano.rb +4 -0
- data/lib/bundler/checksum.rb +270 -0
- data/lib/bundler/ci_detector.rb +75 -0
- data/lib/bundler/cli/add.rb +62 -0
- data/lib/bundler/cli/binstubs.rb +57 -0
- data/lib/bundler/cli/cache.rb +32 -0
- data/lib/bundler/cli/check.rb +40 -0
- data/lib/bundler/cli/clean.rb +25 -0
- data/lib/bundler/cli/common.rb +161 -0
- data/lib/bundler/cli/config.rb +208 -0
- data/lib/bundler/cli/console.rb +47 -0
- data/lib/bundler/cli/doctor/diagnose.rb +167 -0
- data/lib/bundler/cli/doctor/ssl.rb +249 -0
- data/lib/bundler/cli/doctor.rb +33 -0
- data/lib/bundler/cli/exec.rb +114 -0
- data/lib/bundler/cli/fund.rb +36 -0
- data/lib/bundler/cli/gem.rb +493 -0
- data/lib/bundler/cli/info.rb +83 -0
- data/lib/bundler/cli/init.rb +51 -0
- data/lib/bundler/cli/install.rb +127 -0
- data/lib/bundler/cli/issue.rb +41 -0
- data/lib/bundler/cli/list.rb +97 -0
- data/lib/bundler/cli/lock.rb +94 -0
- data/lib/bundler/cli/open.rb +29 -0
- data/lib/bundler/cli/outdated.rb +337 -0
- data/lib/bundler/cli/platform.rb +48 -0
- data/lib/bundler/cli/plugin.rb +39 -0
- data/lib/bundler/cli/pristine.rb +64 -0
- data/lib/bundler/cli/remove.rb +17 -0
- data/lib/bundler/cli/show.rb +71 -0
- data/lib/bundler/cli/update.rb +125 -0
- data/lib/bundler/cli.rb +829 -0
- data/lib/bundler/compact_index_client/cache.rb +96 -0
- data/lib/bundler/compact_index_client/cache_file.rb +148 -0
- data/lib/bundler/compact_index_client/parser.rb +87 -0
- data/lib/bundler/compact_index_client/updater.rb +105 -0
- data/lib/bundler/compact_index_client.rb +92 -0
- data/lib/bundler/constants.rb +14 -0
- data/lib/bundler/current_ruby.rb +94 -0
- data/lib/bundler/definition.rb +1304 -0
- data/lib/bundler/dependency.rb +151 -0
- data/lib/bundler/deployment.rb +6 -0
- data/lib/bundler/deprecate.rb +44 -0
- data/lib/bundler/digest.rb +71 -0
- data/lib/bundler/dsl.rb +642 -0
- data/lib/bundler/endpoint_specification.rb +184 -0
- data/lib/bundler/env.rb +148 -0
- data/lib/bundler/environment_preserver.rb +69 -0
- data/lib/bundler/errors.rb +277 -0
- data/lib/bundler/feature_flag.rb +20 -0
- data/lib/bundler/fetcher/base.rb +55 -0
- data/lib/bundler/fetcher/compact_index.rb +133 -0
- data/lib/bundler/fetcher/dependency.rb +85 -0
- data/lib/bundler/fetcher/downloader.rb +116 -0
- data/lib/bundler/fetcher/gem_remote_fetcher.rb +24 -0
- data/lib/bundler/fetcher/index.rb +25 -0
- data/lib/bundler/fetcher.rb +365 -0
- data/lib/bundler/force_platform.rb +16 -0
- data/lib/bundler/friendly_errors.rb +127 -0
- data/lib/bundler/gem_helper.rb +237 -0
- data/lib/bundler/gem_tasks.rb +7 -0
- data/lib/bundler/gem_version_promoter.rb +147 -0
- data/lib/bundler/index.rb +203 -0
- data/lib/bundler/injector.rb +284 -0
- data/lib/bundler/inline.rb +106 -0
- data/lib/bundler/installer/gem_installer.rb +88 -0
- data/lib/bundler/installer/parallel_installer.rb +280 -0
- data/lib/bundler/installer/standalone.rb +113 -0
- data/lib/bundler/installer.rb +241 -0
- data/lib/bundler/lazy_specification.rb +270 -0
- data/lib/bundler/lockfile_generator.rb +119 -0
- data/lib/bundler/lockfile_parser.rb +328 -0
- data/lib/bundler/man/.document +1 -0
- data/lib/bundler/man/bundle-add.1 +79 -0
- data/lib/bundler/man/bundle-add.1.ronn +92 -0
- data/lib/bundler/man/bundle-binstubs.1 +30 -0
- data/lib/bundler/man/bundle-binstubs.1.ronn +42 -0
- data/lib/bundler/man/bundle-cache.1 +56 -0
- data/lib/bundler/man/bundle-cache.1.ronn +95 -0
- data/lib/bundler/man/bundle-check.1 +21 -0
- data/lib/bundler/man/bundle-check.1.ronn +26 -0
- data/lib/bundler/man/bundle-clean.1 +17 -0
- data/lib/bundler/man/bundle-clean.1.ronn +18 -0
- data/lib/bundler/man/bundle-config.1 +339 -0
- data/lib/bundler/man/bundle-config.1.ronn +455 -0
- data/lib/bundler/man/bundle-console.1 +33 -0
- data/lib/bundler/man/bundle-console.1.ronn +39 -0
- data/lib/bundler/man/bundle-doctor.1 +69 -0
- data/lib/bundler/man/bundle-doctor.1.ronn +77 -0
- data/lib/bundler/man/bundle-env.1 +9 -0
- data/lib/bundler/man/bundle-env.1.ronn +10 -0
- data/lib/bundler/man/bundle-exec.1 +104 -0
- data/lib/bundler/man/bundle-exec.1.ronn +150 -0
- data/lib/bundler/man/bundle-fund.1 +22 -0
- data/lib/bundler/man/bundle-fund.1.ronn +25 -0
- data/lib/bundler/man/bundle-gem.1 +107 -0
- data/lib/bundler/man/bundle-gem.1.ronn +150 -0
- data/lib/bundler/man/bundle-help.1 +9 -0
- data/lib/bundler/man/bundle-help.1.ronn +12 -0
- data/lib/bundler/man/bundle-info.1 +17 -0
- data/lib/bundler/man/bundle-info.1.ronn +21 -0
- data/lib/bundler/man/bundle-init.1 +20 -0
- data/lib/bundler/man/bundle-init.1.ronn +32 -0
- data/lib/bundler/man/bundle-install.1 +178 -0
- data/lib/bundler/man/bundle-install.1.ronn +314 -0
- data/lib/bundler/man/bundle-issue.1 +45 -0
- data/lib/bundler/man/bundle-issue.1.ronn +37 -0
- data/lib/bundler/man/bundle-licenses.1 +9 -0
- data/lib/bundler/man/bundle-licenses.1.ronn +10 -0
- data/lib/bundler/man/bundle-list.1 +40 -0
- data/lib/bundler/man/bundle-list.1.ronn +41 -0
- data/lib/bundler/man/bundle-lock.1 +75 -0
- data/lib/bundler/man/bundle-lock.1.ronn +115 -0
- data/lib/bundler/man/bundle-open.1 +32 -0
- data/lib/bundler/man/bundle-open.1.ronn +28 -0
- data/lib/bundler/man/bundle-outdated.1 +106 -0
- data/lib/bundler/man/bundle-outdated.1.ronn +117 -0
- data/lib/bundler/man/bundle-platform.1 +49 -0
- data/lib/bundler/man/bundle-platform.1.ronn +49 -0
- data/lib/bundler/man/bundle-plugin.1 +76 -0
- data/lib/bundler/man/bundle-plugin.1.ronn +84 -0
- data/lib/bundler/man/bundle-pristine.1 +23 -0
- data/lib/bundler/man/bundle-pristine.1.ronn +34 -0
- data/lib/bundler/man/bundle-remove.1 +15 -0
- data/lib/bundler/man/bundle-remove.1.ronn +16 -0
- data/lib/bundler/man/bundle-show.1 +16 -0
- data/lib/bundler/man/bundle-show.1.ronn +21 -0
- data/lib/bundler/man/bundle-update.1 +284 -0
- data/lib/bundler/man/bundle-update.1.ronn +367 -0
- data/lib/bundler/man/bundle-version.1 +22 -0
- data/lib/bundler/man/bundle-version.1.ronn +24 -0
- data/lib/bundler/man/bundle.1 +93 -0
- data/lib/bundler/man/bundle.1.ronn +107 -0
- data/lib/bundler/man/gemfile.5 +503 -0
- data/lib/bundler/man/gemfile.5.ronn +586 -0
- data/lib/bundler/man/index.txt +31 -0
- data/lib/bundler/match_metadata.rb +30 -0
- data/lib/bundler/match_platform.rb +42 -0
- data/lib/bundler/match_remote_metadata.rb +29 -0
- data/lib/bundler/materialization.rb +59 -0
- data/lib/bundler/mirror.rb +221 -0
- data/lib/bundler/plugin/api/source.rb +330 -0
- data/lib/bundler/plugin/api.rb +81 -0
- data/lib/bundler/plugin/dsl.rb +53 -0
- data/lib/bundler/plugin/events.rb +85 -0
- data/lib/bundler/plugin/index.rb +203 -0
- data/lib/bundler/plugin/installer/git.rb +34 -0
- data/lib/bundler/plugin/installer/path.rb +26 -0
- data/lib/bundler/plugin/installer/rubygems.rb +19 -0
- data/lib/bundler/plugin/installer.rb +123 -0
- data/lib/bundler/plugin/source_list.rb +31 -0
- data/lib/bundler/plugin/unloaded_source.rb +25 -0
- data/lib/bundler/plugin.rb +387 -0
- data/lib/bundler/process_lock.rb +20 -0
- data/lib/bundler/remote_specification.rb +126 -0
- data/lib/bundler/resolver/base.rb +127 -0
- data/lib/bundler/resolver/candidate.rb +85 -0
- data/lib/bundler/resolver/incompatibility.rb +15 -0
- data/lib/bundler/resolver/package.rb +95 -0
- data/lib/bundler/resolver/root.rb +25 -0
- data/lib/bundler/resolver/spec_group.rb +74 -0
- data/lib/bundler/resolver/strategy.rb +43 -0
- data/lib/bundler/resolver.rb +603 -0
- data/lib/bundler/retry.rb +92 -0
- data/lib/bundler/ruby_dsl.rb +67 -0
- data/lib/bundler/ruby_version.rb +135 -0
- data/lib/bundler/rubygems_ext.rb +503 -0
- data/lib/bundler/rubygems_gem_installer.rb +206 -0
- data/lib/bundler/rubygems_integration.rb +456 -0
- data/lib/bundler/runtime.rb +331 -0
- data/lib/bundler/safe_marshal.rb +31 -0
- data/lib/bundler/self_manager.rb +197 -0
- data/lib/bundler/settings/validator.rb +86 -0
- data/lib/bundler/settings.rb +585 -0
- data/lib/bundler/setup.rb +39 -0
- data/lib/bundler/shared_helpers.rb +392 -0
- data/lib/bundler/source/gemspec.rb +19 -0
- data/lib/bundler/source/git/git_proxy.rb +509 -0
- data/lib/bundler/source/git.rb +451 -0
- data/lib/bundler/source/metadata.rb +67 -0
- data/lib/bundler/source/path/installer.rb +53 -0
- data/lib/bundler/source/path.rb +256 -0
- data/lib/bundler/source/rubygems/remote.rb +86 -0
- data/lib/bundler/source/rubygems.rb +606 -0
- data/lib/bundler/source/rubygems_aggregate.rb +71 -0
- data/lib/bundler/source.rb +120 -0
- data/lib/bundler/source_list.rb +240 -0
- data/lib/bundler/source_map.rb +72 -0
- data/lib/bundler/spec_set.rb +390 -0
- data/lib/bundler/stub_specification.rb +147 -0
- data/lib/bundler/templates/.document +1 -0
- data/lib/bundler/templates/Executable +16 -0
- data/lib/bundler/templates/Executable.standalone +14 -0
- data/lib/bundler/templates/Gemfile +5 -0
- data/lib/bundler/templates/newgem/CHANGELOG.md.tt +5 -0
- data/lib/bundler/templates/newgem/CODE_OF_CONDUCT.md.tt +10 -0
- data/lib/bundler/templates/newgem/Cargo.toml.tt +13 -0
- data/lib/bundler/templates/newgem/Gemfile.tt +24 -0
- data/lib/bundler/templates/newgem/LICENSE.txt.tt +21 -0
- data/lib/bundler/templates/newgem/README.md.tt +49 -0
- data/lib/bundler/templates/newgem/Rakefile.tt +72 -0
- data/lib/bundler/templates/newgem/bin/console.tt +11 -0
- data/lib/bundler/templates/newgem/bin/setup.tt +8 -0
- data/lib/bundler/templates/newgem/circleci/config.yml.tt +37 -0
- data/lib/bundler/templates/newgem/exe/newgem.tt +3 -0
- data/lib/bundler/templates/newgem/ext/newgem/Cargo.toml.tt +22 -0
- data/lib/bundler/templates/newgem/ext/newgem/build.rs.tt +5 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-c.rb.tt +10 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-go.rb.tt +11 -0
- data/lib/bundler/templates/newgem/ext/newgem/extconf-rust.rb.tt +6 -0
- data/lib/bundler/templates/newgem/ext/newgem/go.mod.tt +5 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem-go.c.tt +2 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem.c.tt +9 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem.go.tt +31 -0
- data/lib/bundler/templates/newgem/ext/newgem/newgem.h.tt +6 -0
- data/lib/bundler/templates/newgem/ext/newgem/src/lib.rs.tt +23 -0
- data/lib/bundler/templates/newgem/github/workflows/build-gems.yml.tt +69 -0
- data/lib/bundler/templates/newgem/github/workflows/main.yml.tt +48 -0
- data/lib/bundler/templates/newgem/gitignore.tt +23 -0
- data/lib/bundler/templates/newgem/gitlab-ci.yml.tt +27 -0
- data/lib/bundler/templates/newgem/lib/newgem/version.rb.tt +9 -0
- data/lib/bundler/templates/newgem/lib/newgem.rb.tt +15 -0
- data/lib/bundler/templates/newgem/newgem.gemspec.tt +58 -0
- data/lib/bundler/templates/newgem/rspec.tt +3 -0
- data/lib/bundler/templates/newgem/rubocop.yml.tt +8 -0
- data/lib/bundler/templates/newgem/sig/newgem.rbs.tt +8 -0
- data/lib/bundler/templates/newgem/spec/newgem_spec.rb.tt +19 -0
- data/lib/bundler/templates/newgem/spec/spec_helper.rb.tt +15 -0
- data/lib/bundler/templates/newgem/standard.yml.tt +3 -0
- data/lib/bundler/templates/newgem/test/minitest/test_helper.rb.tt +6 -0
- data/lib/bundler/templates/newgem/test/minitest/test_newgem.rb.tt +19 -0
- data/lib/bundler/templates/newgem/test/test-unit/newgem_test.rb.tt +15 -0
- data/lib/bundler/templates/newgem/test/test-unit/test_helper.rb.tt +6 -0
- data/lib/bundler/ui/rg_proxy.rb +19 -0
- data/lib/bundler/ui/shell.rb +191 -0
- data/lib/bundler/ui/silent.rb +96 -0
- data/lib/bundler/ui.rb +9 -0
- data/lib/bundler/uri_credentials_filter.rb +43 -0
- data/lib/bundler/uri_normalizer.rb +23 -0
- data/lib/bundler/vendor/.document +1 -0
- data/lib/bundler/vendor/connection_pool/LICENSE +20 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/timed_stack.rb +227 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/version.rb +3 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool/wrapper.rb +56 -0
- data/lib/bundler/vendor/connection_pool/lib/connection_pool.rb +230 -0
- data/lib/bundler/vendor/fileutils/COPYING +56 -0
- data/lib/bundler/vendor/fileutils/lib/fileutils.rb +2701 -0
- data/lib/bundler/vendor/net-http-persistent/README.rdoc +82 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/connection.rb +41 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/pool.rb +65 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent/timed_stack_multi.rb +80 -0
- data/lib/bundler/vendor/net-http-persistent/lib/net/http/persistent.rb +1153 -0
- data/lib/bundler/vendor/pub_grub/LICENSE.txt +21 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/assignment.rb +20 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/basic_package_source.rb +169 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/failure_writer.rb +182 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/incompatibility.rb +150 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/package.rb +43 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/partial_solution.rb +121 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/rubygems.rb +45 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/solve_failure.rb +19 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb +61 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/strategy.rb +42 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/term.rb +105 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version.rb +3 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_constraint.rb +129 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_range.rb +423 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_solver.rb +236 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub/version_union.rb +178 -0
- data/lib/bundler/vendor/pub_grub/lib/pub_grub.rb +31 -0
- data/lib/bundler/vendor/securerandom/COPYING +56 -0
- data/lib/bundler/vendor/securerandom/lib/securerandom.rb +102 -0
- data/lib/bundler/vendor/thor/LICENSE.md +20 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/create_file.rb +105 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/create_link.rb +61 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/directory.rb +108 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/empty_directory.rb +143 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/file_manipulation.rb +407 -0
- data/lib/bundler/vendor/thor/lib/thor/actions/inject_into_file.rb +130 -0
- data/lib/bundler/vendor/thor/lib/thor/actions.rb +340 -0
- data/lib/bundler/vendor/thor/lib/thor/base.rb +825 -0
- data/lib/bundler/vendor/thor/lib/thor/command.rb +151 -0
- data/lib/bundler/vendor/thor/lib/thor/core_ext/hash_with_indifferent_access.rb +107 -0
- data/lib/bundler/vendor/thor/lib/thor/error.rb +106 -0
- data/lib/bundler/vendor/thor/lib/thor/group.rb +292 -0
- data/lib/bundler/vendor/thor/lib/thor/invocation.rb +178 -0
- data/lib/bundler/vendor/thor/lib/thor/line_editor/basic.rb +37 -0
- data/lib/bundler/vendor/thor/lib/thor/line_editor/readline.rb +88 -0
- data/lib/bundler/vendor/thor/lib/thor/line_editor.rb +17 -0
- data/lib/bundler/vendor/thor/lib/thor/nested_context.rb +29 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/argument.rb +86 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/arguments.rb +195 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/option.rb +178 -0
- data/lib/bundler/vendor/thor/lib/thor/parser/options.rb +294 -0
- data/lib/bundler/vendor/thor/lib/thor/parser.rb +4 -0
- data/lib/bundler/vendor/thor/lib/thor/rake_compat.rb +72 -0
- data/lib/bundler/vendor/thor/lib/thor/runner.rb +335 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/basic.rb +384 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/color.rb +112 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/column_printer.rb +29 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/html.rb +81 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/table_printer.rb +118 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/terminal.rb +42 -0
- data/lib/bundler/vendor/thor/lib/thor/shell/wrapped_printer.rb +38 -0
- data/lib/bundler/vendor/thor/lib/thor/shell.rb +81 -0
- data/lib/bundler/vendor/thor/lib/thor/util.rb +285 -0
- data/lib/bundler/vendor/thor/lib/thor/version.rb +3 -0
- data/lib/bundler/vendor/thor/lib/thor.rb +674 -0
- data/lib/bundler/vendor/tsort/LICENSE.txt +22 -0
- data/lib/bundler/vendor/tsort/lib/tsort.rb +455 -0
- data/lib/bundler/vendor/uri/COPYING +56 -0
- data/lib/bundler/vendor/uri/lib/uri/common.rb +922 -0
- data/lib/bundler/vendor/uri/lib/uri/file.rb +100 -0
- data/lib/bundler/vendor/uri/lib/uri/ftp.rb +267 -0
- data/lib/bundler/vendor/uri/lib/uri/generic.rb +1592 -0
- data/lib/bundler/vendor/uri/lib/uri/http.rb +137 -0
- data/lib/bundler/vendor/uri/lib/uri/https.rb +23 -0
- data/lib/bundler/vendor/uri/lib/uri/ldap.rb +261 -0
- data/lib/bundler/vendor/uri/lib/uri/ldaps.rb +22 -0
- data/lib/bundler/vendor/uri/lib/uri/mailto.rb +293 -0
- data/lib/bundler/vendor/uri/lib/uri/rfc2396_parser.rb +547 -0
- data/lib/bundler/vendor/uri/lib/uri/rfc3986_parser.rb +206 -0
- data/lib/bundler/vendor/uri/lib/uri/version.rb +6 -0
- data/lib/bundler/vendor/uri/lib/uri/ws.rb +83 -0
- data/lib/bundler/vendor/uri/lib/uri/wss.rb +23 -0
- data/lib/bundler/vendor/uri/lib/uri.rb +104 -0
- data/lib/bundler/vendored_fileutils.rb +4 -0
- data/lib/bundler/vendored_net_http.rb +23 -0
- data/lib/bundler/vendored_persistent.rb +11 -0
- data/lib/bundler/vendored_pub_grub.rb +4 -0
- data/lib/bundler/vendored_securerandom.rb +12 -0
- data/lib/bundler/vendored_thor.rb +8 -0
- data/lib/bundler/vendored_timeout.rb +12 -0
- data/lib/bundler/vendored_tsort.rb +4 -0
- data/lib/bundler/vendored_uri.rb +21 -0
- data/lib/bundler/version.rb +21 -0
- data/lib/bundler/vlad.rb +4 -0
- data/lib/bundler/worker.rb +125 -0
- data/lib/bundler/yaml_serializer.rb +98 -0
- data/lib/bundler.rb +691 -0
- metadata +409 -0
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# frozen_string_literal: false
|
|
2
|
+
# = uri/http.rb
|
|
3
|
+
#
|
|
4
|
+
# Author:: Akira Yamada <akira@ruby-lang.org>
|
|
5
|
+
# License:: You can redistribute it and/or modify it under the same term as Ruby.
|
|
6
|
+
#
|
|
7
|
+
# See Bundler::URI for general documentation
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require_relative 'generic'
|
|
11
|
+
|
|
12
|
+
module Bundler::URI
|
|
13
|
+
|
|
14
|
+
#
|
|
15
|
+
# The syntax of HTTP URIs is defined in RFC1738 section 3.3.
|
|
16
|
+
#
|
|
17
|
+
# Note that the Ruby Bundler::URI library allows HTTP URLs containing usernames and
|
|
18
|
+
# passwords. This is not legal as per the RFC, but used to be
|
|
19
|
+
# supported in Internet Explorer 5 and 6, before the MS04-004 security
|
|
20
|
+
# update. See <URL:http://support.microsoft.com/kb/834489>.
|
|
21
|
+
#
|
|
22
|
+
class HTTP < Generic
|
|
23
|
+
# A Default port of 80 for Bundler::URI::HTTP.
|
|
24
|
+
DEFAULT_PORT = 80
|
|
25
|
+
|
|
26
|
+
# An Array of the available components for Bundler::URI::HTTP.
|
|
27
|
+
COMPONENT = %i[
|
|
28
|
+
scheme
|
|
29
|
+
userinfo host port
|
|
30
|
+
path
|
|
31
|
+
query
|
|
32
|
+
fragment
|
|
33
|
+
].freeze
|
|
34
|
+
|
|
35
|
+
#
|
|
36
|
+
# == Description
|
|
37
|
+
#
|
|
38
|
+
# Creates a new Bundler::URI::HTTP object from components, with syntax checking.
|
|
39
|
+
#
|
|
40
|
+
# The components accepted are userinfo, host, port, path, query, and
|
|
41
|
+
# fragment.
|
|
42
|
+
#
|
|
43
|
+
# The components should be provided either as an Array, or as a Hash
|
|
44
|
+
# with keys formed by preceding the component names with a colon.
|
|
45
|
+
#
|
|
46
|
+
# If an Array is used, the components must be passed in the
|
|
47
|
+
# order <code>[userinfo, host, port, path, query, fragment]</code>.
|
|
48
|
+
#
|
|
49
|
+
# Example:
|
|
50
|
+
#
|
|
51
|
+
# uri = Bundler::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar')
|
|
52
|
+
#
|
|
53
|
+
# uri = Bundler::URI::HTTP.build([nil, "www.example.com", nil, "/path",
|
|
54
|
+
# "query", 'fragment'])
|
|
55
|
+
#
|
|
56
|
+
# Currently, if passed userinfo components this method generates
|
|
57
|
+
# invalid HTTP URIs as per RFC 1738.
|
|
58
|
+
#
|
|
59
|
+
def self.build(args)
|
|
60
|
+
tmp = Util.make_components_hash(self, args)
|
|
61
|
+
super(tmp)
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
# Do not allow empty host names, as they are not allowed by RFC 3986.
|
|
65
|
+
def check_host(v)
|
|
66
|
+
ret = super
|
|
67
|
+
|
|
68
|
+
if ret && v.empty?
|
|
69
|
+
raise InvalidComponentError,
|
|
70
|
+
"bad component(expected host component): #{v}"
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
ret
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
#
|
|
77
|
+
# == Description
|
|
78
|
+
#
|
|
79
|
+
# Returns the full path for an HTTP request, as required by Net::HTTP::Get.
|
|
80
|
+
#
|
|
81
|
+
# If the Bundler::URI contains a query, the full path is Bundler::URI#path + '?' + Bundler::URI#query.
|
|
82
|
+
# Otherwise, the path is simply Bundler::URI#path.
|
|
83
|
+
#
|
|
84
|
+
# Example:
|
|
85
|
+
#
|
|
86
|
+
# uri = Bundler::URI::HTTP.build(path: '/foo/bar', query: 'test=true')
|
|
87
|
+
# uri.request_uri # => "/foo/bar?test=true"
|
|
88
|
+
#
|
|
89
|
+
def request_uri
|
|
90
|
+
return unless @path
|
|
91
|
+
|
|
92
|
+
url = @query ? "#@path?#@query" : @path.dup
|
|
93
|
+
url.start_with?(?/.freeze) ? url : ?/ + url
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
#
|
|
97
|
+
# == Description
|
|
98
|
+
#
|
|
99
|
+
# Returns the authority for an HTTP uri, as defined in
|
|
100
|
+
# https://www.rfc-editor.org/rfc/rfc3986#section-3.2.
|
|
101
|
+
#
|
|
102
|
+
#
|
|
103
|
+
# Example:
|
|
104
|
+
#
|
|
105
|
+
# Bundler::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar').authority #=> "www.example.com"
|
|
106
|
+
# Bundler::URI::HTTP.build(host: 'www.example.com', port: 8000, path: '/foo/bar').authority #=> "www.example.com:8000"
|
|
107
|
+
# Bundler::URI::HTTP.build(host: 'www.example.com', port: 80, path: '/foo/bar').authority #=> "www.example.com"
|
|
108
|
+
#
|
|
109
|
+
def authority
|
|
110
|
+
if port == default_port
|
|
111
|
+
host
|
|
112
|
+
else
|
|
113
|
+
"#{host}:#{port}"
|
|
114
|
+
end
|
|
115
|
+
end
|
|
116
|
+
|
|
117
|
+
#
|
|
118
|
+
# == Description
|
|
119
|
+
#
|
|
120
|
+
# Returns the origin for an HTTP uri, as defined in
|
|
121
|
+
# https://www.rfc-editor.org/rfc/rfc6454.
|
|
122
|
+
#
|
|
123
|
+
#
|
|
124
|
+
# Example:
|
|
125
|
+
#
|
|
126
|
+
# Bundler::URI::HTTP.build(host: 'www.example.com', path: '/foo/bar').origin #=> "http://www.example.com"
|
|
127
|
+
# Bundler::URI::HTTP.build(host: 'www.example.com', port: 8000, path: '/foo/bar').origin #=> "http://www.example.com:8000"
|
|
128
|
+
# Bundler::URI::HTTP.build(host: 'www.example.com', port: 80, path: '/foo/bar').origin #=> "http://www.example.com"
|
|
129
|
+
# Bundler::URI::HTTPS.build(host: 'www.example.com', path: '/foo/bar').origin #=> "https://www.example.com"
|
|
130
|
+
#
|
|
131
|
+
def origin
|
|
132
|
+
"#{scheme}://#{authority}"
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
|
|
136
|
+
register_scheme 'HTTP', HTTP
|
|
137
|
+
end
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: false
|
|
2
|
+
# = uri/https.rb
|
|
3
|
+
#
|
|
4
|
+
# Author:: Akira Yamada <akira@ruby-lang.org>
|
|
5
|
+
# License:: You can redistribute it and/or modify it under the same term as Ruby.
|
|
6
|
+
#
|
|
7
|
+
# See Bundler::URI for general documentation
|
|
8
|
+
#
|
|
9
|
+
|
|
10
|
+
require_relative 'http'
|
|
11
|
+
|
|
12
|
+
module Bundler::URI
|
|
13
|
+
|
|
14
|
+
# The default port for HTTPS URIs is 443, and the scheme is 'https:' rather
|
|
15
|
+
# than 'http:'. Other than that, HTTPS URIs are identical to HTTP URIs;
|
|
16
|
+
# see Bundler::URI::HTTP.
|
|
17
|
+
class HTTPS < HTTP
|
|
18
|
+
# A Default port of 443 for Bundler::URI::HTTPS
|
|
19
|
+
DEFAULT_PORT = 443
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
register_scheme 'HTTPS', HTTPS
|
|
23
|
+
end
|
|
@@ -0,0 +1,261 @@
|
|
|
1
|
+
# frozen_string_literal: false
|
|
2
|
+
# = uri/ldap.rb
|
|
3
|
+
#
|
|
4
|
+
# Author::
|
|
5
|
+
# Takaaki Tateishi <ttate@jaist.ac.jp>
|
|
6
|
+
# Akira Yamada <akira@ruby-lang.org>
|
|
7
|
+
# License::
|
|
8
|
+
# Bundler::URI::LDAP is copyrighted free software by Takaaki Tateishi and Akira Yamada.
|
|
9
|
+
# You can redistribute it and/or modify it under the same term as Ruby.
|
|
10
|
+
#
|
|
11
|
+
# See Bundler::URI for general documentation
|
|
12
|
+
#
|
|
13
|
+
|
|
14
|
+
require_relative 'generic'
|
|
15
|
+
|
|
16
|
+
module Bundler::URI
|
|
17
|
+
|
|
18
|
+
#
|
|
19
|
+
# LDAP Bundler::URI SCHEMA (described in RFC2255).
|
|
20
|
+
#--
|
|
21
|
+
# ldap://<host>/<dn>[?<attrs>[?<scope>[?<filter>[?<extensions>]]]]
|
|
22
|
+
#++
|
|
23
|
+
class LDAP < Generic
|
|
24
|
+
|
|
25
|
+
# A Default port of 389 for Bundler::URI::LDAP.
|
|
26
|
+
DEFAULT_PORT = 389
|
|
27
|
+
|
|
28
|
+
# An Array of the available components for Bundler::URI::LDAP.
|
|
29
|
+
COMPONENT = [
|
|
30
|
+
:scheme,
|
|
31
|
+
:host, :port,
|
|
32
|
+
:dn,
|
|
33
|
+
:attributes,
|
|
34
|
+
:scope,
|
|
35
|
+
:filter,
|
|
36
|
+
:extensions,
|
|
37
|
+
].freeze
|
|
38
|
+
|
|
39
|
+
# Scopes available for the starting point.
|
|
40
|
+
#
|
|
41
|
+
# * SCOPE_BASE - the Base DN
|
|
42
|
+
# * SCOPE_ONE - one level under the Base DN, not including the base DN and
|
|
43
|
+
# not including any entries under this
|
|
44
|
+
# * SCOPE_SUB - subtrees, all entries at all levels
|
|
45
|
+
#
|
|
46
|
+
SCOPE = [
|
|
47
|
+
SCOPE_ONE = 'one',
|
|
48
|
+
SCOPE_SUB = 'sub',
|
|
49
|
+
SCOPE_BASE = 'base',
|
|
50
|
+
].freeze
|
|
51
|
+
|
|
52
|
+
#
|
|
53
|
+
# == Description
|
|
54
|
+
#
|
|
55
|
+
# Creates a new Bundler::URI::LDAP object from components, with syntax checking.
|
|
56
|
+
#
|
|
57
|
+
# The components accepted are host, port, dn, attributes,
|
|
58
|
+
# scope, filter, and extensions.
|
|
59
|
+
#
|
|
60
|
+
# The components should be provided either as an Array, or as a Hash
|
|
61
|
+
# with keys formed by preceding the component names with a colon.
|
|
62
|
+
#
|
|
63
|
+
# If an Array is used, the components must be passed in the
|
|
64
|
+
# order <code>[host, port, dn, attributes, scope, filter, extensions]</code>.
|
|
65
|
+
#
|
|
66
|
+
# Example:
|
|
67
|
+
#
|
|
68
|
+
# uri = Bundler::URI::LDAP.build({:host => 'ldap.example.com',
|
|
69
|
+
# :dn => '/dc=example'})
|
|
70
|
+
#
|
|
71
|
+
# uri = Bundler::URI::LDAP.build(["ldap.example.com", nil,
|
|
72
|
+
# "/dc=example;dc=com", "query", nil, nil, nil])
|
|
73
|
+
#
|
|
74
|
+
def self.build(args)
|
|
75
|
+
tmp = Util::make_components_hash(self, args)
|
|
76
|
+
|
|
77
|
+
if tmp[:dn]
|
|
78
|
+
tmp[:path] = tmp[:dn]
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
query = []
|
|
82
|
+
[:extensions, :filter, :scope, :attributes].collect do |x|
|
|
83
|
+
next if !tmp[x] && query.size == 0
|
|
84
|
+
query.unshift(tmp[x])
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
tmp[:query] = query.join('?')
|
|
88
|
+
|
|
89
|
+
return super(tmp)
|
|
90
|
+
end
|
|
91
|
+
|
|
92
|
+
#
|
|
93
|
+
# == Description
|
|
94
|
+
#
|
|
95
|
+
# Creates a new Bundler::URI::LDAP object from generic Bundler::URI components as per
|
|
96
|
+
# RFC 2396. No LDAP-specific syntax checking is performed.
|
|
97
|
+
#
|
|
98
|
+
# Arguments are +scheme+, +userinfo+, +host+, +port+, +registry+, +path+,
|
|
99
|
+
# +opaque+, +query+, and +fragment+, in that order.
|
|
100
|
+
#
|
|
101
|
+
# Example:
|
|
102
|
+
#
|
|
103
|
+
# uri = Bundler::URI::LDAP.new("ldap", nil, "ldap.example.com", nil, nil,
|
|
104
|
+
# "/dc=example;dc=com", nil, "query", nil)
|
|
105
|
+
#
|
|
106
|
+
# See also Bundler::URI::Generic.new.
|
|
107
|
+
#
|
|
108
|
+
def initialize(*arg)
|
|
109
|
+
super(*arg)
|
|
110
|
+
|
|
111
|
+
if @fragment
|
|
112
|
+
raise InvalidURIError, 'bad LDAP URL'
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
parse_dn
|
|
116
|
+
parse_query
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
# Private method to cleanup +dn+ from using the +path+ component attribute.
|
|
120
|
+
def parse_dn
|
|
121
|
+
raise InvalidURIError, 'bad LDAP URL' unless @path
|
|
122
|
+
@dn = @path[1..-1]
|
|
123
|
+
end
|
|
124
|
+
private :parse_dn
|
|
125
|
+
|
|
126
|
+
# Private method to cleanup +attributes+, +scope+, +filter+, and +extensions+
|
|
127
|
+
# from using the +query+ component attribute.
|
|
128
|
+
def parse_query
|
|
129
|
+
@attributes = nil
|
|
130
|
+
@scope = nil
|
|
131
|
+
@filter = nil
|
|
132
|
+
@extensions = nil
|
|
133
|
+
|
|
134
|
+
if @query
|
|
135
|
+
attrs, scope, filter, extensions = @query.split('?')
|
|
136
|
+
|
|
137
|
+
@attributes = attrs if attrs && attrs.size > 0
|
|
138
|
+
@scope = scope if scope && scope.size > 0
|
|
139
|
+
@filter = filter if filter && filter.size > 0
|
|
140
|
+
@extensions = extensions if extensions && extensions.size > 0
|
|
141
|
+
end
|
|
142
|
+
end
|
|
143
|
+
private :parse_query
|
|
144
|
+
|
|
145
|
+
# Private method to assemble +query+ from +attributes+, +scope+, +filter+, and +extensions+.
|
|
146
|
+
def build_path_query
|
|
147
|
+
@path = '/' + @dn
|
|
148
|
+
|
|
149
|
+
query = []
|
|
150
|
+
[@extensions, @filter, @scope, @attributes].each do |x|
|
|
151
|
+
next if !x && query.size == 0
|
|
152
|
+
query.unshift(x)
|
|
153
|
+
end
|
|
154
|
+
@query = query.join('?')
|
|
155
|
+
end
|
|
156
|
+
private :build_path_query
|
|
157
|
+
|
|
158
|
+
# Returns dn.
|
|
159
|
+
def dn
|
|
160
|
+
@dn
|
|
161
|
+
end
|
|
162
|
+
|
|
163
|
+
# Private setter for dn +val+.
|
|
164
|
+
def set_dn(val)
|
|
165
|
+
@dn = val
|
|
166
|
+
build_path_query
|
|
167
|
+
@dn
|
|
168
|
+
end
|
|
169
|
+
protected :set_dn
|
|
170
|
+
|
|
171
|
+
# Setter for dn +val+.
|
|
172
|
+
def dn=(val)
|
|
173
|
+
set_dn(val)
|
|
174
|
+
val
|
|
175
|
+
end
|
|
176
|
+
|
|
177
|
+
# Returns attributes.
|
|
178
|
+
def attributes
|
|
179
|
+
@attributes
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
# Private setter for attributes +val+.
|
|
183
|
+
def set_attributes(val)
|
|
184
|
+
@attributes = val
|
|
185
|
+
build_path_query
|
|
186
|
+
@attributes
|
|
187
|
+
end
|
|
188
|
+
protected :set_attributes
|
|
189
|
+
|
|
190
|
+
# Setter for attributes +val+.
|
|
191
|
+
def attributes=(val)
|
|
192
|
+
set_attributes(val)
|
|
193
|
+
val
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Returns scope.
|
|
197
|
+
def scope
|
|
198
|
+
@scope
|
|
199
|
+
end
|
|
200
|
+
|
|
201
|
+
# Private setter for scope +val+.
|
|
202
|
+
def set_scope(val)
|
|
203
|
+
@scope = val
|
|
204
|
+
build_path_query
|
|
205
|
+
@scope
|
|
206
|
+
end
|
|
207
|
+
protected :set_scope
|
|
208
|
+
|
|
209
|
+
# Setter for scope +val+.
|
|
210
|
+
def scope=(val)
|
|
211
|
+
set_scope(val)
|
|
212
|
+
val
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# Returns filter.
|
|
216
|
+
def filter
|
|
217
|
+
@filter
|
|
218
|
+
end
|
|
219
|
+
|
|
220
|
+
# Private setter for filter +val+.
|
|
221
|
+
def set_filter(val)
|
|
222
|
+
@filter = val
|
|
223
|
+
build_path_query
|
|
224
|
+
@filter
|
|
225
|
+
end
|
|
226
|
+
protected :set_filter
|
|
227
|
+
|
|
228
|
+
# Setter for filter +val+.
|
|
229
|
+
def filter=(val)
|
|
230
|
+
set_filter(val)
|
|
231
|
+
val
|
|
232
|
+
end
|
|
233
|
+
|
|
234
|
+
# Returns extensions.
|
|
235
|
+
def extensions
|
|
236
|
+
@extensions
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# Private setter for extensions +val+.
|
|
240
|
+
def set_extensions(val)
|
|
241
|
+
@extensions = val
|
|
242
|
+
build_path_query
|
|
243
|
+
@extensions
|
|
244
|
+
end
|
|
245
|
+
protected :set_extensions
|
|
246
|
+
|
|
247
|
+
# Setter for extensions +val+.
|
|
248
|
+
def extensions=(val)
|
|
249
|
+
set_extensions(val)
|
|
250
|
+
val
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# Checks if Bundler::URI has a path.
|
|
254
|
+
# For Bundler::URI::LDAP this will return +false+.
|
|
255
|
+
def hierarchical?
|
|
256
|
+
false
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
|
|
260
|
+
register_scheme 'LDAP', LDAP
|
|
261
|
+
end
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: false
|
|
2
|
+
# = uri/ldap.rb
|
|
3
|
+
#
|
|
4
|
+
# License:: You can redistribute it and/or modify it under the same term as Ruby.
|
|
5
|
+
#
|
|
6
|
+
# See Bundler::URI for general documentation
|
|
7
|
+
#
|
|
8
|
+
|
|
9
|
+
require_relative 'ldap'
|
|
10
|
+
|
|
11
|
+
module Bundler::URI
|
|
12
|
+
|
|
13
|
+
# The default port for LDAPS URIs is 636, and the scheme is 'ldaps:' rather
|
|
14
|
+
# than 'ldap:'. Other than that, LDAPS URIs are identical to LDAP URIs;
|
|
15
|
+
# see Bundler::URI::LDAP.
|
|
16
|
+
class LDAPS < LDAP
|
|
17
|
+
# A Default port of 636 for Bundler::URI::LDAPS
|
|
18
|
+
DEFAULT_PORT = 636
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
register_scheme 'LDAPS', LDAPS
|
|
22
|
+
end
|