Update Vendored Bundler to 1.0.7

master
Jacques Distler 2010-12-06 21:11:19 -06:00
parent d8d0f2fdd6
commit 27a99e0146
982 changed files with 15304 additions and 3360 deletions

Binary file not shown.

Binary file not shown.

View File

@ -1,65 +0,0 @@
Thu, 23 Sep 2010 23:33:55 -0500
lib/bundler/vendor/thor.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/task.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/options.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-update Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/environment.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/core_ext/ordered_hash.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/ui.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/shared_helpers.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/setup.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/rubygems_ext.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/index.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/dependency.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/version.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell/color.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell/basic.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/argument.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/templates/Executable Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/remote_specification.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/gemfile.5.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/templates/Gemfile Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/spec_set.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/graph.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/gem_helper.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/version.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/util.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/empty_directory.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/create_file.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/source.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-update.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-exec.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-config Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/capistrano.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-package.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-package Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-install Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell/html.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/runtime.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/resolver.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/definition.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/core_ext/file_binary_read.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/inject_into_file.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/settings.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-install.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/lockfile_parser.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/lazy_specification.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/option.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-config.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/invocation.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/error.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/directory.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/installer.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/cli.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/arguments.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/base.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/file_manipulation.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-exec Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/dsl.rb Thu, 23 Sep 2010 23:33:39 -0500

View File

@ -1,47 +0,0 @@
{
:class_methods{'"Bundler::LockfileParser["new"Bundler::Source::Rubygems["from_lock"new"Bundler::Source::Path["from_lock"new"Bundler::Dsl["deprecate" evaluate"new"Bundler::Resolver["new" resolve"%Bundler::Source::Path::Installer["new"Thor::Util["camel_case"find_by_namespace"%find_class_and_task_by_namespace"globs_for"load_thorfile"namespace_from_thor_class"namespaces_in_content"ruby_command"snake_case"thor_classes_in"thor_root"thor_root_glob"user_home"Bundler::SpecSet["new" Thor[" banner"check_unknown_options!"default_task" desc" help"long_desc"map"method_option"method_options"printable_tasks"subcommand"subcommand_help"subcommands"task_help"Bundler::GemHelper["install_tasks"new"Bundler::Index["
build"new"Bundler::Installer[" install"!Bundler::RemoteSpecification["new"Thor::DynamicTask["new"Thor::Shell["new"Bundler::CLI["new"source_root"Bundler::Definition["
build"new"Bundler::Environment["new"Bundler::UI::Shell["new"Bundler::GraphNode["new"Bundler::DepProxy["new"Bundler::Dependency["new"!Bundler::Resolver::SpecGroup["new"Bundler::Source::Git["from_lock"new"Thor::Actions["new"Bundler::Settings["new"Bundler::UI::RGProxy["new"Bundler::VersionConflict["new" Bundler[#"app_cache"app_config_path" bin_path"bundle_path"
cache"configure" configure_gem_home_and_path"default_gemfile"default_lockfile"definition"environment" home"install_path" load"load_gemspec" mkdir_p"read_file" require"requires_sudo?" root"ruby_scope" settings"
setup"specs_path" sudo"tmp"ui"upgrade_lockfile"user_bundle_path"with_clean_env"Bundler::LazySpecification["new"Thor::Base[
"new"
shell" shell="subclass_files"subclasses"Bundler::Graph["new"Thor::Task["new"Bundler::BundlerError["status_code:attributes{@[ "attr_reader dependencies"attr_reader platforms"attr_reader sources"attr_reader specs"Gem::Specification["attr_accessor location"'attr_accessor relative_loaded_from"attr_accessor source@
["attr_reader remotes@[ "attr_accessor version"attr_reader options"attr_reader path"attr_writer name"Thor::Shell::Basic["attr_accessor base"attr_accessor padding@["attr_reader errors"Thor::Base::ClassMethods["attr_accessor debugging@@["attr_reader base"attr_reader gemspec"attr_reader spec_path@K[ "attr_accessor source"attr_reader name"attr_reader platform"attr_reader version@X["attr_reader dependencies"attr_reader platforms"attr_reader sources@\["attr_reader root@b[ "attr_accessor is_user"attr_reader dependencies"attr_reader name"attr_reader version"Gem::Dependency["attr_accessor groups"attr_accessor source@e["attr_reader __platform"attr_reader dep"attr_reader required_by"Bundler::SharedHelpers["attr_accessor gem_loaded@h["attr_reader autorequire"attr_reader groups"attr_reader platforms@k["attr_reader activated"attr_reader required_by@n[ "attr_reader options"attr_reader ref"attr_reader submodules"attr_reader uri@r["attr_accessor behavior@{["attr_reader conflicts@~["attr_writer bundle_path"attr_writer ui@™[
"attr_accessor source"attr_reader dependencies"attr_reader name"attr_reader platform"attr_reader version@œ["attr_accessor options:instance_methods{4" Thor::Actions::ClassMethods[ "add_runtime_options!"source_paths"source_paths_for_search"source_root@[ "dependencies"parse_dependency"parse_platform"parse_source"parse_spec"platforms" sources"
specs@²["add_bundler_dependencies"dependencies_to_gemfile"full_gem_path"git_version" groups"load_paths"loaded_from" location" nondevelopment_dependencies"relative_loaded_from"required_by"rg_full_gem_path"rg_loaded_from" source"to_gemfile@
["=="add_remote"
cache" cached!"cached_gem"cached_specs"download_gem_from_uri" eql?"
fetch"fetch_all_remote_specs"fetch_specs" hash" install"installed_specs"merge_remotes" name"normalize_uri" options" remote!"remote_specs" remotes"
specs" sudo" to_lock" to_s@["=="
cache" cached!" eql?"generate_bin" hash" install"load_spec_files"local_specs" name" options" path"relative_path" remote!"
specs" to_lock" to_s" version@¾["ask" base"dynamic_width"dynamic_width_stty"dynamic_width_tput"
error"file_collision"no?" padding" padding="print_table"print_wrapped"say"say_status"terminal_width" truncate"
unix?" yes?"Thor::Shell::Color["set_color@["_deprecated_options"_normalize_hash"_normalize_options"env"gem" gemspec"git"
group" path"platforms"rubygems_source" source"to_definition@["clean_req"
debug"error_message" errors"gem_message" resolve"resolve_requirement" search"
start"successify"version_conflict@["generate_bin@-["[]"[]=" each"for" length" lookup"materialize"
merge" sorted" to_a" to_hash"tsort_each_child"tsort_each_node"valid_for?@0[" help@Ä["all_tasks" argument"arguments"check_unknown_options!"class_option"class_options"debugging"exit_on_failure?"from_superclass"
group"inherited"method_added"namespace" no_tasks"print_options"remove_argument"remove_class_option"remove_task"
start"
tasks@@[" base"build_gem"built_gem_path" clean?" gemspec" git_push"guard_already_tagged"guard_clean" install"install_gem" name"perform_git_push"release_gem"rubygem_push"sh"sh_with_code"spec_path"tag_version"tagged_sha" version"version_tag@D["<<"=="[]" each" empty?"initialize_copy" search"search_by_dependency"search_by_spec"search_for_all_platforms" sources"use@H["&generate_bundler_executable_stubs"run@K[" __swap__"_remote_specification"fetch_platform"full_name"method_missing" name" platform" source" version@N["run@Q["
shell" shell="with_padding@T["
cache"
check" config" console" exec"gem"have_groff?" help" init" install"locate_gem" lock" open" package" show" unlock" update" version"viz@X[#"converge_dependencies"converge_locked_specs"converge_sources"current_dependencies"dependencies"+ensure_equivalent_gemfile_and_lockfile"expand_dependencies"expanded_dependencies" groups"in_locked_deps?"
index" lock"missing_specs"new_platform?"new_specs"no_sources?"platforms"pretty_dep"removed_specs"requested_dependencies"requested_specs" resolve"resolve_remotely!"resolve_with_cache!"satisfies_locked_spec?"sorted_sources" sources"
specs"specs_for" to_lock@\["current_dependencies"dependencies"
index" inspect" lock"requested_specs" root"
specs" update@_[ "be_quiet!" confirm"
debug"
error" info" warn@b[ "dependencies" is_user" name" version@Û[ " groups"required_by"requirement" source" to_lock"to_yaml_properties"Gem::Platform[" hash@e["=="__platform"dep" eql?" hash"method_missing"required_by" to_s" type"Bundler::Runtime[ "
cache"cache_path"dependencies_for"prune_cache" require"
setup"setup_environment"Thor::Shell::HTML["ask"set_color@ã["clean_load_path"cripple_rubygems"default_gemfile"default_lockfile"find_gemfile"gem"gem_loaded"in_bundle?""reverse_rubygems_kernel_mixin"Thor::Invocation[" invoke"invoke_with_padding@h["autorequire"current_env?"current_platform?"gem_platforms" groups" jruby?" mri?" mri_18?" mri_19?" mswin?"platforms"
ruby?" ruby_18?" ruby_19?"should_include?" to_lock@k["__dependencies"activate_platform"activated" for?"initialize_copy" name"required_by" source" to_s" to_specs" version@n[ "=="allow_git_ops?"base_name"
cache"cache_path" cached?" checkout" eql?"git"has_revision_cached?" in_cache" install"load_spec_files" name" options" path"ref" revision"shortref_for_display"shortref_for_path"
specs"submodules" to_lock" to_s" unlock!"uri" uri_hash@r[ " add_file"append_file"
apply" behavior"
chmod"copy_file"create_file"destination_root"destination_root="directory"empty_directory"find_in_source_paths"get"gsub_file" in_root"inject_into_class"inject_into_file" inside"prepend_file"*relative_to_original_destination_root"remove_dir"remove_file"run"run_ruby_script"source_paths" template" thor@u["[]"[]="all"allow_sudo?" delete"global_config_file" key_for"local_config_file"locations" path"pretty_values_for"set_global" set_key" without" without="Bundler::UI[ " confirm"
error" info" warn@x["say"Thor::HiddenTask[" hidden?@{["conflicts@~["bundle_path"ui@™["__materialize__"dependencies"full_name"method_missing" name" platform"respond_to?"satisfies?" source" to_lock" to_s" version"Bundler::GemHelpers[" generic"Bundler::MatchPlatform["match_platform@œ[" options@£[ " groups"
nodes" populate"viz@¦[ "formatted_usage"handle_argument_error?"handle_no_method_error?" hidden?"not_debugging?"required_options"run:ancestors{Y" File[" Object"-Bundler::SharedHelpers::Gem::SourceIndex[@£[" Object"Thor::InvocationError["Thor::Error@
[" Object@œ["Thor::Sandbox["Thor::CoreExt::OrderedHash[" ::Hash""Thor::Actions::EmptyDirectory[" Object"-Thor::CoreExt::HashWithIndifferentAccess[" ::Hash@b[" Object"Thor::UnknownArgumentError[@õ@K["MatchPlatform" Object@D["Enumerable" Object@[" Object@Ù["GemHelpers@P[@Ä[" Bundler::SharedHelpers::Gem["Thor::Actions::CreateFile[""Thor::Actions::EmptyDirectory"Bundler::DslError["Bundler::BundlerError"'Thor::RequiredArgumentMissingError["Thor::InvocationError@{[@@["Gem::Installer@¾[" Object""Thor::Actions::InjectIntoFile[@"Bundler::GitError[@"Thor::Actions::Directory[@@¹[" Object@a["Thor::Shell::Basic@Q[@["Bundler::PathError[@"Bundler::GemspecError[@@[" Object@ã["Gem["Thor::CoreExt[@¦["IStruct.new(:name, :description, :long_description, :usage, :options)"Bundler::GemNotFound[@@[" Object"Bundler::InvalidOption["Bundler::DslError@u[" Object@k["GemHelpers"
Array@Û[" Object@²["Bundler::MatchPlatform" Object@~["Thor::Error["StandardError@_["Bundler::UI@H["Bundler::Environment"#Thor::Invocation::ClassMethods[@™["MatchPlatform" Object"$Thor::MalformattedArgumentError[@@n["Bundler::Source::Path@B[@-@e[" Object@r["Bundler::GemfileError[@@\[" Object@Ö[@Á["Thor::Task@©["StandardError"Bundler::DeprecatedError[@@T["Thor::Actions" Thor"Bundler::GemfileNotFound[@@[@x["Gem::SilentUI@h["Gem::Dependency@9["SharedHelpers@U@N[@i@0["Thor::Base" Object@-["
TSort"Enumerable" Object"Thor::Arguments[" Object"Thor::Option["Thor::Argument"Bundler::InvalidSpecSet["StandardError"Bundler::ProductionError[@@X["GemHelpers" Object@@[" Object"Thor::UndefinedTaskError[@õ@[" Object"Thor::Options["Thor::Arguments"Thor::Argument[" Object"Bundler::Source[@,[" Object: modules[Y"Bundler::InvalidSpecSet"Bundler::ProductionError"Thor::Actions::Directory@^"Bundler::Source::Rubygems"Gem::Specification"Bundler::LockfileParser"Bundler::GemfileNotFound"Thor::Shell::Color@-"Thor::Option@˜@"%Bundler::Source::Path::Installer"Bundler::Resolver"Bundler::Dsl"Bundler::GemspecError"Bundler::GemNotFound@"Thor::UndefinedTaskError@p"Bundler::SpecSet"Thor::DynamicTask"Thor::UnknownArgumentError"!Bundler::RemoteSpecification"Bundler::Installer"Bundler::Index"Bundler::GemHelper"Bundler::UI::Shell@U"Bundler::Definition"Bundler::CLI"Bundler::GitError"Bundler::GemfileError"Thor::Shell::HTML"Bundler::Runtime"Bundler::DepProxy"Gem::Platform@w"Bundler::GraphNode"Bundler::DeprecatedError"$Thor::MalformattedArgumentError"-Thor::CoreExt::HashWithIndifferentAccess"Bundler::Source::Git"!Bundler::Resolver::SpecGroup"Bundler::Dependency"Bundler::VersionConflict"Bundler::InvalidOption"Thor::HiddenTask@õ@"Bundler::UI::RGProxy@S"Bundler::Settings@C"Thor::Options"Thor::CoreExt::OrderedHash"Bundler::LazySpecification"Bundler::PathError@@i"'Thor::RequiredArgumentMissingError" File""Thor::Actions::InjectIntoFile"Thor::Actions::CreateFile"Bundler::Graph"Thor::CoreExt" Thor::Actions::ClassMethods"Bundler::Source" Bundler::SharedHelpers::Gem"#Thor::Invocation::ClassMethods"-Bundler::SharedHelpers::Gem::SourceIndex"Thor::Util"Thor::Base::ClassMethods"Gem"Thor::Sandbox"Thor::Shell"Thor::Invocation"Bundler::SharedHelpers@o" Bundler@|@L"Bundler::GemHelpers

View File

@ -1,65 +0,0 @@
Thu, 23 Sep 2010 23:33:43 -0500
lib/bundler/vendor/thor.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/task.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/options.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-update Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/environment.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/core_ext/ordered_hash.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/ui.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/shared_helpers.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/setup.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/rubygems_ext.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/index.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/dependency.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/version.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell/color.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell/basic.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/argument.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/templates/Executable Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/remote_specification.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/gemfile.5.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/templates/Gemfile Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/spec_set.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/graph.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/gem_helper.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/version.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/util.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/empty_directory.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/create_file.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/source.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-update.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-exec.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-config Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/capistrano.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-package.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-package Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-install Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell/html.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/runtime.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/resolver.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/definition.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/core_ext/file_binary_read.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/inject_into_file.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/settings.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-install.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/lockfile_parser.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/lazy_specification.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/option.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-config.txt Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/invocation.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/error.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/directory.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/installer.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/cli.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/shell.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/parser/arguments.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/base.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/vendor/thor/actions/file_manipulation.rb Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/man/bundle-exec Thu, 23 Sep 2010 23:33:39 -0500
lib/bundler/dsl.rb Thu, 23 Sep 2010 23:33:39 -0500

View File

@ -47,6 +47,9 @@
<li><a href="./lib/bundler/dependency_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/bundler/dependency.rb">lib/bundler/dependency.rb</a></li>
<li><a href="./lib/bundler/deployment_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/bundler/deployment.rb">lib/bundler/deployment.rb</a></li>
<li><a href="./lib/bundler/dsl_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/bundler/dsl.rb">lib/bundler/dsl.rb</a></li>
@ -140,6 +143,8 @@
<li><span class="type">CLASS</span> <a href="Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><span class="type">CLASS</span> <a href="Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><span class="type">CLASS</span> <a href="Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><span class="type">CLASS</span> <a href="Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -338,6 +343,8 @@
<li><a href="./Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="./Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="./Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="./Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -466,6 +473,8 @@
<li><a href="./Gem/Platform.html">Gem::Platform</a></li>
<li><a href="./Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="./Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -507,6 +516,11 @@ versions of bundler and we are unsure how to handle this better.
<dd class="description"></dd>
<dt><a name="FREEBSD">FREEBSD</a></dt>
<dd class="description"></dd>
<dt><a name="NULL">NULL</a></dt>
<dd class="description"></dd>
@ -1043,32 +1057,32 @@ versions of bundler and we are unsure how to handle this better.
<div class="method-source-code"
id="load-gemspec-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 218</span>
218: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_gemspec</span>(<span class="ruby-identifier">file</span>)
219: <span class="ruby-identifier">path</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>)
220: <span class="ruby-comment cmt"># Eval the gemspec from its parent directory</span>
221: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">dirname</span>) <span class="ruby-keyword kw">do</span>
222: <span class="ruby-keyword kw">begin</span>
223: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">from_yaml</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">basename</span>)
224: <span class="ruby-comment cmt"># Raises ArgumentError if the file is not valid YAML</span>
225: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-constant">SyntaxError</span>, <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">EndOfYAMLException</span>, <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>
226: <span class="ruby-keyword kw">begin</span>
227: <span class="ruby-identifier">eval</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">basename</span>), <span class="ruby-constant">TOPLEVEL_BINDING</span>, <span class="ruby-identifier">path</span>.<span class="ruby-identifier">expand_path</span>.<span class="ruby-identifier">to_s</span>)
228: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
229: <span class="ruby-identifier">original_line</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>) }
230: <span class="ruby-identifier">msg</span> = <span class="ruby-node">&quot;There was a LoadError while evaluating #{path.basename}:\n #{e.message}&quot;</span>
231: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; from\n #{original_line}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">original_line</span>
232: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
233:
234: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9.0&quot;</span>
235: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\nDoes it try to require a relative path? That doesn't work in Ruby 1.9.&quot;</span>
236: <span class="ruby-keyword kw">end</span>
237:
238: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemspecError</span>, <span class="ruby-identifier">msg</span>
239: <span class="ruby-keyword kw">end</span>
240: <span class="ruby-keyword kw">end</span>
241: <span class="ruby-keyword kw">end</span>
242: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 221</span>
221: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_gemspec</span>(<span class="ruby-identifier">file</span>)
222: <span class="ruby-identifier">path</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">file</span>)
223: <span class="ruby-comment cmt"># Eval the gemspec from its parent directory</span>
224: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">dirname</span>) <span class="ruby-keyword kw">do</span>
225: <span class="ruby-keyword kw">begin</span>
226: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">from_yaml</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">basename</span>)
227: <span class="ruby-comment cmt"># Raises ArgumentError if the file is not valid YAML</span>
228: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-constant">SyntaxError</span>, <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">EndOfYAMLException</span>, <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>
229: <span class="ruby-keyword kw">begin</span>
230: <span class="ruby-identifier">eval</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">basename</span>), <span class="ruby-constant">TOPLEVEL_BINDING</span>, <span class="ruby-identifier">path</span>.<span class="ruby-identifier">expand_path</span>.<span class="ruby-identifier">to_s</span>)
231: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
232: <span class="ruby-identifier">original_line</span> = <span class="ruby-identifier">e</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-identifier">line</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>) }
233: <span class="ruby-identifier">msg</span> = <span class="ruby-node">&quot;There was a LoadError while evaluating #{path.basename}:\n #{e.message}&quot;</span>
234: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; from\n #{original_line}&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">original_line</span>
235: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
236:
237: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9.0&quot;</span>
238: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\nDoes it try to require a relative path? That doesn't work in Ruby 1.9.&quot;</span>
239: <span class="ruby-keyword kw">end</span>
240:
241: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemspecError</span>, <span class="ruby-identifier">msg</span>
242: <span class="ruby-keyword kw">end</span>
243: <span class="ruby-keyword kw">end</span>
244: <span class="ruby-keyword kw">end</span>
245: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1099,14 +1113,14 @@ versions of bundler and we are unsure how to handle this better.
<div class="method-source-code"
id="mkdir-p-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 202</span>
202: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">path</span>)
203: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requires_sudo?</span>
204: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p '#{path}'&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">path</span>)
205: <span class="ruby-keyword kw">else</span>
206: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">path</span>)
207: <span class="ruby-keyword kw">end</span>
208: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 205</span>
205: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">path</span>)
206: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requires_sudo?</span>
207: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p '#{path}'&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">path</span>)
208: <span class="ruby-keyword kw">else</span>
209: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">path</span>)
210: <span class="ruby-keyword kw">end</span>
211: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1137,10 +1151,10 @@ versions of bundler and we are unsure how to handle this better.
<div class="method-source-code"
id="read-file-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 214</span>
214: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">file</span>)
215: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">&quot;rb&quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span> <span class="ruby-identifier">file</span>.<span class="ruby-identifier">read</span> }
216: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 217</span>
217: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">file</span>)
218: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">&quot;rb&quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">read</span> }
219: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1207,12 +1221,15 @@ versions of bundler and we are unsure how to handle this better.
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 194</span>
194: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requires_sudo?</span>
195: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">bundle_path</span>
196: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">parent</span> <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">exist?</span>
197: <span class="ruby-identifier">sudo_present</span> = <span class="ruby-operator">!</span><span class="ruby-node">`which sudo 2&gt;#{NULL}`</span>.<span class="ruby-identifier">empty?</span>
198:
199: <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">allow_sudo?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">writable?</span>(<span class="ruby-identifier">path</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">sudo_present</span>
200: <span class="ruby-keyword kw">end</span></pre>
195: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@requires_sudo</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@checked_for_sudo</span>
196:
197: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">bundle_path</span>
198: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">parent</span> <span class="ruby-keyword kw">until</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">exist?</span>
199: <span class="ruby-identifier">sudo_present</span> = <span class="ruby-operator">!</span>(<span class="ruby-value">`which sudo`</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-value str">''</span>).<span class="ruby-identifier">empty?</span>
200:
201: <span class="ruby-ivar">@checked_for_sudo</span> = <span class="ruby-keyword kw">true</span>
202: <span class="ruby-ivar">@requires_sudo</span> = <span class="ruby-identifier">settings</span>.<span class="ruby-identifier">allow_sudo?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">writable?</span>(<span class="ruby-identifier">path</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">sudo_present</span>
203: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1425,10 +1442,10 @@ versions of bundler and we are unsure how to handle this better.
<div class="method-source-code"
id="sudo-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 210</span>
210: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sudo</span>(<span class="ruby-identifier">str</span>)
211: <span class="ruby-node">`sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}`</span>
212: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 213</span>
213: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sudo</span>(<span class="ruby-identifier">str</span>)
214: <span class="ruby-node">`sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}`</span>
215: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1605,19 +1622,20 @@ versions of bundler and we are unsure how to handle this better.
<div class="method-source-code"
id="configure-gem-home-and-path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 246</span>
246: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_gem_home_and_path</span>
247: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">settings</span>[<span class="ruby-value">:disable_shared_gems</span>]
248: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'GEM_PATH'</span>] = <span class="ruby-value str">''</span>
249: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'GEM_HOME'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">bundle_path</span>, <span class="ruby-identifier">root</span>)
250: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">bundle_path</span>.<span class="ruby-identifier">to_s</span>
251: <span class="ruby-identifier">paths</span> = [<span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span>, <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">path</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">reject</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">empty?</span> }
252: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;GEM_PATH&quot;</span>] = <span class="ruby-identifier">paths</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH_SEPARATOR</span>)
253: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;GEM_HOME&quot;</span>] = <span class="ruby-identifier">bundle_path</span>.<span class="ruby-identifier">to_s</span>
254: <span class="ruby-keyword kw">end</span>
255:
256: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">clear_paths</span>
257: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 249</span>
249: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">configure_gem_home_and_path</span>
250: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">settings</span>[<span class="ruby-value">:disable_shared_gems</span>]
251: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'GEM_PATH'</span>] = <span class="ruby-value str">''</span>
252: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'GEM_HOME'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">bundle_path</span>, <span class="ruby-identifier">root</span>)
253: <span class="ruby-keyword kw">elsif</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">bundle_path</span>.<span class="ruby-identifier">to_s</span>
254: <span class="ruby-identifier">paths</span> = [<span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span>, <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">path</span>].<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">reject</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">empty?</span> }
255: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;GEM_PATH&quot;</span>] = <span class="ruby-identifier">paths</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-constant">PATH_SEPARATOR</span>)
256: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">&quot;GEM_HOME&quot;</span>] = <span class="ruby-identifier">bundle_path</span>.<span class="ruby-identifier">to_s</span>
257: <span class="ruby-keyword kw">end</span>
258:
259: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span> <span class="ruby-identifier">bundle_path</span>.<span class="ruby-identifier">to_s</span>
260: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">clear_paths</span>
261: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1648,29 +1666,14 @@ versions of bundler and we are unsure how to handle this better.
<div class="method-source-code"
id="upgrade-lockfile-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 259</span>
259: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upgrade_lockfile</span>
260: <span class="ruby-identifier">lockfile</span> = <span class="ruby-identifier">default_lockfile</span>
261: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">exist?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">3</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;---&quot;</span>
262: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Detected Gemfile.lock generated by 0.9, deleting...&quot;</span>
263: <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">rmtree</span>
264: <span class="ruby-comment cmt"># lock = YAML.load_file(lockfile)</span>
265: <span class="ruby-comment cmt">#</span>
266: <span class="ruby-comment cmt"># source_uris = lock[&quot;sources&quot;].map{|s| s[&quot;Rubygems&quot;][&quot;uri&quot;] }</span>
267: <span class="ruby-comment cmt"># sources = [Bundler::Source::Rubygems.new({&quot;remotes&quot; =&gt; source_uris})]</span>
268: <span class="ruby-comment cmt">#</span>
269: <span class="ruby-comment cmt"># deps = lock[&quot;dependencies&quot;].map do |name, opts|</span>
270: <span class="ruby-comment cmt"># version = opts.delete(&quot;version&quot;)</span>
271: <span class="ruby-comment cmt"># Bundler::Dependency.new(name, version, opts)</span>
272: <span class="ruby-comment cmt"># end</span>
273: <span class="ruby-comment cmt">#</span>
274: <span class="ruby-comment cmt"># definition = Bundler::Definition.new(nil, deps, sources, {})</span>
275: <span class="ruby-comment cmt">#</span>
276: <span class="ruby-comment cmt"># File.open(lockfile, 'w') do |f|</span>
277: <span class="ruby-comment cmt"># f.write definition.to_lock</span>
278: <span class="ruby-comment cmt"># end</span>
279: <span class="ruby-keyword kw">end</span>
280: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 263</span>
263: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">upgrade_lockfile</span>
264: <span class="ruby-identifier">lockfile</span> = <span class="ruby-identifier">default_lockfile</span>
265: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">exist?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">read</span>(<span class="ruby-value">3</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;---&quot;</span>
266: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Detected Gemfile.lock generated by 0.9, deleting...&quot;</span>
267: <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">rmtree</span>
268: <span class="ruby-keyword kw">end</span>
269: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -145,6 +145,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -273,6 +275,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -196,6 +196,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -324,6 +326,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -376,9 +380,9 @@
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 13</span>
13: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(*)
14: <span class="ruby-keyword kw">super</span>
15: <span class="ruby-identifier">use_shell</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;no-color&quot;</span>] <span class="ruby-operator">?</span> <span class="ruby-constant">Thor</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span><span class="ruby-operator">::</span><span class="ruby-constant">Basic</span>.<span class="ruby-identifier">new</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">shell</span>
16:
17: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span> = <span class="ruby-constant">UI</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">use_shell</span>)
15: <span class="ruby-identifier">the_shell</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;no-color&quot;</span>] <span class="ruby-operator">?</span> <span class="ruby-constant">Thor</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span><span class="ruby-operator">::</span><span class="ruby-constant">Basic</span>.<span class="ruby-identifier">new</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">shell</span>)
16: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span> = <span class="ruby-constant">UI</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">the_shell</span>)
17: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">debug!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;verbose&quot;</span>]
18: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">DefaultUserInteraction</span>.<span class="ruby-identifier">ui</span> = <span class="ruby-constant">UI</span><span class="ruby-operator">::</span><span class="ruby-constant">RGProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>)
19: <span class="ruby-keyword kw">end</span></pre>
</div>
@ -411,10 +415,10 @@
<div class="method-source-code"
id="source-root-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 478</span>
478: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">source_root</span>
479: <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>), <span class="ruby-value str">'templates'</span>))
480: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 499</span>
499: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">source_root</span>
500: <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>), <span class="ruby-value str">'templates'</span>))
501: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -451,17 +455,17 @@
<div class="method-source-code"
id="cache-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 289</span>
289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>
290: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>.<span class="ruby-identifier">resolve_with_cache!</span>
291: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span>
292: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:no_prune</span>] = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:no_prune</span>]
293: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">lock</span>
294: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GemNotFound</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
295: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>)
296: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Run `bundle install` to install missing gems.&quot;</span>
297: <span class="ruby-identifier">exit</span> <span class="ruby-value">128</span>
298: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 308</span>
308: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>
309: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>.<span class="ruby-identifier">resolve_with_cache!</span>
310: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span>
311: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:no_prune</span>] = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:no_prune</span>]
312: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">lock</span>
313: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GemNotFound</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
314: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span>(<span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>)
315: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Run `bundle install` to install missing gems.&quot;</span>
316: <span class="ruby-identifier">exit</span> <span class="ruby-value">128</span>
317: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -492,27 +496,27 @@
<div class="method-source-code"
id="check-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check</span>
99: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:gemfile</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:gemfile</span>]
100: <span class="ruby-keyword kw">begin</span>
101: <span class="ruby-identifier">not_installed</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>.<span class="ruby-identifier">missing_specs</span>
102: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-constant">VersionConflict</span>
103: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;Your Gemfile's dependencies could not be satisfied&quot;</span>
104: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Install missing gems with `bundle install`&quot;</span>
105: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
106: <span class="ruby-keyword kw">end</span>
107:
108: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">not_installed</span>.<span class="ruby-identifier">any?</span>
109: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;The following gems are missing&quot;</span>
110: <span class="ruby-identifier">not_installed</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot; * #{s.name} (#{s.version})&quot;</span> }
111: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Install missing gems with `bundle install`&quot;</span>
112: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
113: <span class="ruby-keyword kw">else</span>
114: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">lock</span>
115: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;The Gemfile's dependencies are satisfied&quot;</span>
116: <span class="ruby-keyword kw">end</span>
117: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 99</span>
99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">check</span>
100: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:gemfile</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:gemfile</span>]
101: <span class="ruby-keyword kw">begin</span>
102: <span class="ruby-identifier">not_installed</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>.<span class="ruby-identifier">missing_specs</span>
103: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-constant">VersionConflict</span>
104: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;Your Gemfile's dependencies could not be satisfied&quot;</span>
105: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Install missing gems with `bundle install`&quot;</span>
106: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
107: <span class="ruby-keyword kw">end</span>
108:
109: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">not_installed</span>.<span class="ruby-identifier">any?</span>
110: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;The following gems are missing&quot;</span>
111: <span class="ruby-identifier">not_installed</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot; * #{s.name} (#{s.version})&quot;</span> }
112: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Install missing gems with `bundle install`&quot;</span>
113: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
114: <span class="ruby-keyword kw">else</span>
115: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">lock</span>
116: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;The Gemfile's dependencies are satisfied&quot;</span>
117: <span class="ruby-keyword kw">end</span>
118: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -543,50 +547,50 @@
<div class="method-source-code"
id="config-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 351</span>
351: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config</span>(<span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>, *<span class="ruby-identifier">args</span>)
352: <span class="ruby-identifier">values</span> = <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">dup</span>
353: <span class="ruby-identifier">values</span>.<span class="ruby-identifier">shift</span> <span class="ruby-comment cmt"># remove config</span>
354: <span class="ruby-identifier">values</span>.<span class="ruby-identifier">shift</span> <span class="ruby-comment cmt"># remove the name</span>
355:
356: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">name</span>
357: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Settings are listed in order of priority. The top value will be used.\n&quot;</span>
358:
359: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">setting</span><span class="ruby-operator">|</span>
360: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;#{setting}&quot;</span>
361: <span class="ruby-identifier">with_padding</span> <span class="ruby-keyword kw">do</span>
362: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">pretty_values_for</span>(<span class="ruby-identifier">setting</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
363: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">line</span>
364: <span class="ruby-keyword kw">end</span>
365: <span class="ruby-keyword kw">end</span>
366: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;&quot;</span>
367: <span class="ruby-keyword kw">end</span>
368: <span class="ruby-keyword kw">return</span>
369: <span class="ruby-keyword kw">end</span>
370:
371: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">values</span>.<span class="ruby-identifier">empty?</span>
372: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;Settings for `#{name}` in order of priority. The top value will be used&quot;</span>
373: <span class="ruby-identifier">with_padding</span> <span class="ruby-keyword kw">do</span>
374: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">pretty_values_for</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">line</span> }
375: <span class="ruby-keyword kw">end</span>
376: <span class="ruby-keyword kw">else</span>
377: <span class="ruby-identifier">locations</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">locations</span>(<span class="ruby-identifier">name</span>)
378:
379: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">local</span> = <span class="ruby-identifier">locations</span>[<span class="ruby-value">:local</span>]
380: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Your application has set #{name} to #{local.inspect}. This will override the &quot;</span> <span class="ruby-value str">&quot;system value you are currently setting&quot;</span>
381: <span class="ruby-keyword kw">end</span>
382:
383: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">global</span> = <span class="ruby-identifier">locations</span>[<span class="ruby-value">:global</span>]
384: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;You are replacing the current system value of #{name}, which is currently #{global}&quot;</span>
385: <span class="ruby-keyword kw">end</span>
386:
387: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env</span> = <span class="ruby-identifier">locations</span>[<span class="ruby-value">:env</span>]
388: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;You have set a bundler environment variable for #{env}. This will take precedence &quot;</span> <span class="ruby-value str">&quot;over the system value you are setting&quot;</span>
389: <span class="ruby-keyword kw">end</span>
390:
391: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">set_global</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">values</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; &quot;</span>))
392: <span class="ruby-keyword kw">end</span>
393: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 370</span>
370: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">config</span>(<span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>, *<span class="ruby-identifier">args</span>)
371: <span class="ruby-identifier">values</span> = <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">dup</span>
372: <span class="ruby-identifier">values</span>.<span class="ruby-identifier">shift</span> <span class="ruby-comment cmt"># remove config</span>
373: <span class="ruby-identifier">values</span>.<span class="ruby-identifier">shift</span> <span class="ruby-comment cmt"># remove the name</span>
374:
375: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">name</span>
376: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Settings are listed in order of priority. The top value will be used.\n&quot;</span>
377:
378: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">all</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">setting</span><span class="ruby-operator">|</span>
379: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;#{setting}&quot;</span>
380: <span class="ruby-identifier">with_padding</span> <span class="ruby-keyword kw">do</span>
381: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">pretty_values_for</span>(<span class="ruby-identifier">setting</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
382: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">line</span>
383: <span class="ruby-keyword kw">end</span>
384: <span class="ruby-keyword kw">end</span>
385: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;&quot;</span>
386: <span class="ruby-keyword kw">end</span>
387: <span class="ruby-keyword kw">return</span>
388: <span class="ruby-keyword kw">end</span>
389:
390: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">values</span>.<span class="ruby-identifier">empty?</span>
391: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;Settings for `#{name}` in order of priority. The top value will be used&quot;</span>
392: <span class="ruby-identifier">with_padding</span> <span class="ruby-keyword kw">do</span>
393: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">pretty_values_for</span>(<span class="ruby-identifier">name</span>).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">line</span> }
394: <span class="ruby-keyword kw">end</span>
395: <span class="ruby-keyword kw">else</span>
396: <span class="ruby-identifier">locations</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">locations</span>(<span class="ruby-identifier">name</span>)
397:
398: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">local</span> = <span class="ruby-identifier">locations</span>[<span class="ruby-value">:local</span>]
399: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Your application has set #{name} to #{local.inspect}. This will override the &quot;</span> <span class="ruby-value str">&quot;system value you are currently setting&quot;</span>
400: <span class="ruby-keyword kw">end</span>
401:
402: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">global</span> = <span class="ruby-identifier">locations</span>[<span class="ruby-value">:global</span>]
403: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;You are replacing the current system value of #{name}, which is currently #{global}&quot;</span>
404: <span class="ruby-keyword kw">end</span>
405:
406: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">env</span> = <span class="ruby-identifier">locations</span>[<span class="ruby-value">:env</span>]
407: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;You have set a bundler environment variable for #{env}. This will take precedence &quot;</span> <span class="ruby-value str">&quot;over the system value you are setting&quot;</span>
408: <span class="ruby-keyword kw">end</span>
409:
410: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">set_global</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">values</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot; &quot;</span>))
411: <span class="ruby-keyword kw">end</span>
412: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -617,15 +621,15 @@
<div class="method-source-code"
id="console-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 410</span>
410: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">console</span>(<span class="ruby-identifier">group</span> = <span class="ruby-keyword kw">nil</span>)
411: <span class="ruby-identifier">require</span> <span class="ruby-value str">'bundler/setup'</span>
412: <span class="ruby-identifier">group</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">require</span>(<span class="ruby-value">:default</span>, <span class="ruby-identifier">group</span>) <span class="ruby-operator">:</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">require</span>
413: <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">clear</span>
414:
415: <span class="ruby-identifier">require</span> <span class="ruby-value str">'irb'</span>
416: <span class="ruby-constant">IRB</span>.<span class="ruby-identifier">start</span>
417: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 432</span>
432: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">console</span>(<span class="ruby-identifier">group</span> = <span class="ruby-keyword kw">nil</span>)
433: <span class="ruby-identifier">require</span> <span class="ruby-value str">'bundler/setup'</span>
434: <span class="ruby-identifier">group</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">require</span>(<span class="ruby-value">:default</span>, <span class="ruby-identifier">group</span>) <span class="ruby-operator">:</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">require</span>
435: <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">clear</span>
436:
437: <span class="ruby-identifier">require</span> <span class="ruby-value str">'irb'</span>
438: <span class="ruby-constant">IRB</span>.<span class="ruby-identifier">start</span>
439: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -656,24 +660,24 @@
<div class="method-source-code"
id="exec-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 321</span>
321: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec</span>(*)
322: <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;exec&quot;</span>)
323:
324: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">setup</span>
325:
326: <span class="ruby-keyword kw">begin</span>
327: <span class="ruby-comment cmt"># Run</span>
328: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">exec</span>(*<span class="ruby-constant">ARGV</span>)
329: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EACCES</span>
330: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;bundler: not executable: #{ARGV.first}&quot;</span>
331: <span class="ruby-identifier">exit</span> <span class="ruby-value">126</span>
332: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOENT</span>
333: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;bundler: command not found: #{ARGV.first}&quot;</span>
334: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Install missing gem binaries with `bundle install`&quot;</span>
335: <span class="ruby-identifier">exit</span> <span class="ruby-value">127</span>
336: <span class="ruby-keyword kw">end</span>
337: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 340</span>
340: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">exec</span>(*)
341: <span class="ruby-constant">ARGV</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;exec&quot;</span>)
342:
343: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">setup</span>
344:
345: <span class="ruby-keyword kw">begin</span>
346: <span class="ruby-comment cmt"># Run</span>
347: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">exec</span>(*<span class="ruby-constant">ARGV</span>)
348: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EACCES</span>
349: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;bundler: not executable: #{ARGV.first}&quot;</span>
350: <span class="ruby-identifier">exit</span> <span class="ruby-value">126</span>
351: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOENT</span>
352: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;bundler: command not found: #{ARGV.first}&quot;</span>
353: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Install missing gem binaries with `bundle install`&quot;</span>
354: <span class="ruby-identifier">exit</span> <span class="ruby-value">127</span>
355: <span class="ruby-keyword kw">end</span>
356: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -704,28 +708,26 @@
<div class="method-source-code"
id="gem-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 456</span>
456: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem</span>(<span class="ruby-identifier">name</span>)
457: <span class="ruby-identifier">target</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>, <span class="ruby-identifier">name</span>)
458: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">name</span>)
459: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;File already exists at #{File.join(Dir.pwd, name)}&quot;</span>
460: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
461: <span class="ruby-keyword kw">end</span>
462:
463: <span class="ruby-identifier">constant_name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'_'</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">capitalize</span>}.<span class="ruby-identifier">join</span>
464: <span class="ruby-identifier">constant_name</span> = <span class="ruby-identifier">constant_name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">q</span><span class="ruby-operator">|</span> <span class="ruby-identifier">q</span>.<span class="ruby-identifier">capitalize</span>}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'::'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">constant_name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/-/</span>
465: <span class="ruby-identifier">constant_array</span> = <span class="ruby-identifier">constant_name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'::'</span>)
466: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'lib'</span>, <span class="ruby-identifier">name</span>))
467: <span class="ruby-identifier">opts</span> = {<span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:constant_name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">constant_name</span>, <span class="ruby-value">:constant_array</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">constant_array</span>}
468: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'Gemfile.tt'</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'Gemfile'</span>), <span class="ruby-identifier">opts</span>)
469: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'Rakefile.tt'</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'Rakefile'</span>), <span class="ruby-identifier">opts</span>)
470: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'gitignore.tt'</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'.gitignore'</span>), <span class="ruby-identifier">opts</span>)
471: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'newgem.gemspec.tt'</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-node">&quot;#{name}.gemspec&quot;</span>), <span class="ruby-identifier">opts</span>)
472: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'lib'</span>, <span class="ruby-value str">'newgem.rb.tt'</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'lib'</span>, <span class="ruby-node">&quot;#{name}.rb&quot;</span>), <span class="ruby-identifier">opts</span>)
473: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'lib'</span>, <span class="ruby-value str">'newgem'</span>, <span class="ruby-value str">'version.rb.tt'</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'lib'</span>, <span class="ruby-identifier">name</span>, <span class="ruby-value str">'version.rb'</span>), <span class="ruby-identifier">opts</span>)
474: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Initializating git repo in #{target}&quot;</span>
475: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">target</span>) { <span class="ruby-value">`git init`</span>; <span class="ruby-value">`git add .`</span> }
476: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 479</span>
479: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem</span>(<span class="ruby-identifier">name</span>)
480: <span class="ruby-identifier">target</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>, <span class="ruby-identifier">name</span>)
481: <span class="ruby-identifier">constant_name</span> = <span class="ruby-identifier">name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'_'</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">capitalize</span>}.<span class="ruby-identifier">join</span>
482: <span class="ruby-identifier">constant_name</span> = <span class="ruby-identifier">constant_name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'-'</span>).<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">q</span><span class="ruby-operator">|</span> <span class="ruby-identifier">q</span>.<span class="ruby-identifier">capitalize</span>}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'::'</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">constant_name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/-/</span>
483: <span class="ruby-identifier">constant_array</span> = <span class="ruby-identifier">constant_name</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'::'</span>)
484: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'lib'</span>, <span class="ruby-identifier">name</span>))
485: <span class="ruby-identifier">opts</span> = {<span class="ruby-value">:name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value">:constant_name</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">constant_name</span>, <span class="ruby-value">:constant_array</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">constant_array</span>}
486: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/Gemfile.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">&quot;Gemfile&quot;</span>), <span class="ruby-identifier">opts</span>)
487: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/Rakefile.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">&quot;Rakefile&quot;</span>), <span class="ruby-identifier">opts</span>)
488: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/gitignore.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">&quot;.gitignore&quot;</span>), <span class="ruby-identifier">opts</span>)
489: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/newgem.gemspec.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-node">&quot;#{name}.gemspec&quot;</span>), <span class="ruby-identifier">opts</span>)
490: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/lib/newgem.rb.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-node">&quot;lib/#{name}.rb&quot;</span>), <span class="ruby-identifier">opts</span>)
491: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/lib/newgem/version.rb.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-node">&quot;lib/#{name}/version.rb&quot;</span>), <span class="ruby-identifier">opts</span>)
492: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:bin</span>]
493: <span class="ruby-identifier">template</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;newgem/bin/newgem.tt&quot;</span>), <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">target</span>, <span class="ruby-value str">'bin'</span>, <span class="ruby-identifier">name</span>), <span class="ruby-identifier">opts</span>)
494: <span class="ruby-keyword kw">end</span>
495: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Initializating git repo in #{target}&quot;</span>
496: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">target</span>) { <span class="ruby-value">`git init`</span>; <span class="ruby-value">`git add .`</span> }
497: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -756,38 +758,38 @@
<div class="method-source-code"
id="help-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 26</span>
26: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">help</span>(<span class="ruby-identifier">cli</span> = <span class="ruby-keyword kw">nil</span>)
27: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">cli</span>
28: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;gemfile&quot;</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">command</span> = <span class="ruby-value str">&quot;gemfile.5&quot;</span>
29: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">command</span> = <span class="ruby-value str">&quot;bundle&quot;</span>
30: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">command</span> = <span class="ruby-node">&quot;bundle-#{cli}&quot;</span>
31: <span class="ruby-keyword kw">end</span>
32:
33: <span class="ruby-identifier">manpages</span> = <span class="ruby-node">%(
34: bundle
35: bundle-config
36: bundle-exec
37: bundle-install
38: bundle-package
39: bundle-update
40: gemfile.5)</span>
41:
42: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">manpages</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">command</span>)
43: <span class="ruby-identifier">root</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;../man&quot;</span>, <span class="ruby-keyword kw">__FILE__</span>)
44:
45: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">have_groff?</span>
46: <span class="ruby-identifier">groff</span> = <span class="ruby-value str">&quot;groff -Wall -mtty-char -mandoc -Tascii&quot;</span>
47: <span class="ruby-identifier">pager</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'MANPAGER'</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'PAGER'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'more'</span>
48:
49: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">exec</span> <span class="ruby-node">&quot;#{groff} #{root}/#{command} | #{pager}&quot;</span>
50: <span class="ruby-keyword kw">else</span>
51: <span class="ruby-identifier">puts</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-node">&quot;#{root}/#{command}.txt&quot;</span>)
52: <span class="ruby-keyword kw">end</span>
53: <span class="ruby-keyword kw">else</span>
54: <span class="ruby-keyword kw">super</span>
55: <span class="ruby-keyword kw">end</span>
56: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 27</span>
27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">help</span>(<span class="ruby-identifier">cli</span> = <span class="ruby-keyword kw">nil</span>)
28: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">cli</span>
29: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">&quot;gemfile&quot;</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">command</span> = <span class="ruby-value str">&quot;gemfile.5&quot;</span>
30: <span class="ruby-keyword kw">when</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">command</span> = <span class="ruby-value str">&quot;bundle&quot;</span>
31: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">command</span> = <span class="ruby-node">&quot;bundle-#{cli}&quot;</span>
32: <span class="ruby-keyword kw">end</span>
33:
34: <span class="ruby-identifier">manpages</span> = <span class="ruby-node">%(
35: bundle
36: bundle-config
37: bundle-exec
38: bundle-install
39: bundle-package
40: bundle-update
41: gemfile.5)</span>
42:
43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">manpages</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">command</span>)
44: <span class="ruby-identifier">root</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;../man&quot;</span>, <span class="ruby-keyword kw">__FILE__</span>)
45:
46: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">have_groff?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">root</span> <span class="ruby-operator">!~</span> <span class="ruby-regexp re">%{^file:/.+!/META-INF/jruby.home/.+}</span>
47: <span class="ruby-identifier">groff</span> = <span class="ruby-value str">&quot;groff -Wall -mtty-char -mandoc -Tascii&quot;</span>
48: <span class="ruby-identifier">pager</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'MANPAGER'</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'PAGER'</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'more'</span>
49:
50: <span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">exec</span> <span class="ruby-node">&quot;#{groff} #{root}/#{command} | #{pager}&quot;</span>
51: <span class="ruby-keyword kw">else</span>
52: <span class="ruby-identifier">puts</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-node">&quot;#{root}/#{command}.txt&quot;</span>)
53: <span class="ruby-keyword kw">end</span>
54: <span class="ruby-keyword kw">else</span>
55: <span class="ruby-keyword kw">super</span>
56: <span class="ruby-keyword kw">end</span>
57: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -818,31 +820,31 @@
<div class="method-source-code"
id="init-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 65</span>
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init</span>
66: <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>
67: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">&quot;Gemfile&quot;</span>)
68: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Gemfile already exists at #{Dir.pwd}/Gemfile&quot;</span>
69: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
70: <span class="ruby-keyword kw">end</span>
71:
72: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemspec</span>]
73: <span class="ruby-identifier">gemspec</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemspec</span>])
74: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">gemspec</span>)
75: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Gem specification #{gemspec} doesn't exist&quot;</span>
76: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
77: <span class="ruby-keyword kw">end</span>
78: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">gemspec</span>)
79: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Writing new Gemfile to #{Dir.pwd}/Gemfile&quot;</span>
80: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-value str">'Gemfile'</span>, <span class="ruby-value str">'wb'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
81: <span class="ruby-identifier">file</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;# Generated from #{gemspec}\n&quot;</span>
82: <span class="ruby-identifier">file</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">to_gemfile</span>
83: <span class="ruby-keyword kw">end</span>
84: <span class="ruby-keyword kw">else</span>
85: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Writing new Gemfile to #{Dir.pwd}/Gemfile&quot;</span>
86: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">'../templates/Gemfile'</span>, <span class="ruby-keyword kw">__FILE__</span>), <span class="ruby-value str">'Gemfile'</span>)
87: <span class="ruby-keyword kw">end</span>
88: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 66</span>
66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">init</span>
67: <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>
68: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-value str">&quot;Gemfile&quot;</span>)
69: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Gemfile already exists at #{Dir.pwd}/Gemfile&quot;</span>
70: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
71: <span class="ruby-keyword kw">end</span>
72:
73: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemspec</span>]
74: <span class="ruby-identifier">gemspec</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemspec</span>])
75: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">gemspec</span>)
76: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Gem specification #{gemspec} doesn't exist&quot;</span>
77: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
78: <span class="ruby-keyword kw">end</span>
79: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">gemspec</span>)
80: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Writing new Gemfile to #{Dir.pwd}/Gemfile&quot;</span>
81: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-value str">'Gemfile'</span>, <span class="ruby-value str">'wb'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
82: <span class="ruby-identifier">file</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;# Generated from #{gemspec}\n&quot;</span>
83: <span class="ruby-identifier">file</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">to_gemfile</span>
84: <span class="ruby-keyword kw">end</span>
85: <span class="ruby-keyword kw">else</span>
86: <span class="ruby-identifier">puts</span> <span class="ruby-node">&quot;Writing new Gemfile to #{Dir.pwd}/Gemfile&quot;</span>
87: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">'../templates/Gemfile'</span>, <span class="ruby-keyword kw">__FILE__</span>), <span class="ruby-value str">'Gemfile'</span>)
88: <span class="ruby-keyword kw">end</span>
89: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -873,74 +875,93 @@
<div class="method-source-code"
id="install-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 156</span>
156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">path</span> = <span class="ruby-keyword kw">nil</span>)
157: <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>
158: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>] <span class="ruby-operator">||=</span> []
159: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>].<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
160:
161:
162: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemfile</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemfile</span>]
163:
164: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:production</span>]
165: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>] = <span class="ruby-keyword kw">true</span>
166: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;The --production option is deprecated, and will be removed in &quot;</span> <span class="ruby-value str">&quot;the final release of Bundler 1.0. Please use --deployment instead.&quot;</span>
167: <span class="ruby-keyword kw">end</span>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 157</span>
157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">path</span> = <span class="ruby-keyword kw">nil</span>)
158: <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">options</span>.<span class="ruby-identifier">dup</span>
159: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>] <span class="ruby-operator">||=</span> []
160: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>].<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
161: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>].<span class="ruby-identifier">map!</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot; &quot;</span>) }
162: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>].<span class="ruby-identifier">flatten!</span>
163: <span class="ruby-keyword kw">end</span>
164: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>].<span class="ruby-identifier">map!</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
165:
166: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemfile</span>]) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:gemfile</span>]
167: <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'RB_USER_INSTALL'</span>] = <span class="ruby-value str">'1'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span><span class="ruby-operator">::</span><span class="ruby-constant">FREEBSD</span>
168:
169: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">path</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:system</span>]
170: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;You have specified both a path to install your gems to, \n&quot;</span> <span class="ruby-value str">&quot;as well as --system. Please choose.&quot;</span>
171: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
172: <span class="ruby-keyword kw">end</span>
173:
174: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>]
175: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;You have specified a path via `bundle install #{path}` as well as\n&quot;</span> <span class="ruby-node">&quot;by `bundle install --path #{options[:path]}`. These options are\n&quot;</span> <span class="ruby-value str">&quot;equivalent, so please use one or the other.&quot;</span>
176: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
177: <span class="ruby-keyword kw">end</span>
178:
179: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;disable-shared-gems&quot;</span>]
180: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;The disable-shared-gem option is no longer available.\n\n&quot;</span> <span class="ruby-value str">&quot;Instead, use `bundle install` to install to your system,\n&quot;</span> <span class="ruby-value str">&quot;or `bundle install --path path/to/gems` to install to an isolated\n&quot;</span> <span class="ruby-value str">&quot;location. Bundler will resolve relative paths relative to\n&quot;</span> <span class="ruby-value str">&quot;your `Gemfile`.&quot;</span>
181: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
182: <span class="ruby-keyword kw">end</span>
183:
184: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:frozen</span>]
185: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>] = <span class="ruby-value str">'1'</span>
169: <span class="ruby-comment cmt"># Just disable color in deployment mode</span>
170: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">shell</span> = <span class="ruby-constant">Thor</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span><span class="ruby-operator">::</span><span class="ruby-constant">Basic</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>]
171:
172: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:production</span>]
173: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>] = <span class="ruby-keyword kw">true</span>
174: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;The --production option is deprecated, and will be removed in &quot;</span> <span class="ruby-value str">&quot;the final release of Bundler 1.0. Please use --deployment instead.&quot;</span>
175: <span class="ruby-keyword kw">end</span>
176:
177: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">path</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>]) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:system</span>]
178: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;You have specified both a path to install your gems to, \n&quot;</span> <span class="ruby-value str">&quot;as well as --system. Please choose.&quot;</span>
179: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
180: <span class="ruby-keyword kw">end</span>
181:
182: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>]
183: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;You have specified a path via `bundle install #{path}` as well as\n&quot;</span> <span class="ruby-node">&quot;by `bundle install --path #{options[:path]}`. These options are\n&quot;</span> <span class="ruby-value str">&quot;equivalent, so please use one or the other.&quot;</span>
184: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
185: <span class="ruby-keyword kw">end</span>
186:
187: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">default_lockfile</span>.<span class="ruby-identifier">exist?</span>
188: <span class="ruby-identifier">flag</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>] <span class="ruby-operator">?</span> <span class="ruby-value str">'--deployment'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'--frozen'</span>
189: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ProductionError</span>, <span class="ruby-node">&quot;The #{flag} flag requires a Gemfile.lock. Please make &quot;</span> <span class="ruby-value str">&quot;sure you have checked your Gemfile.lock into version control &quot;</span> <span class="ruby-value str">&quot;before deploying.&quot;</span>
190: <span class="ruby-keyword kw">end</span>
187: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;disable-shared-gems&quot;</span>]
188: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-value str">&quot;The disable-shared-gem option is no longer available.\n\n&quot;</span> <span class="ruby-value str">&quot;Instead, use `bundle install` to install to your system,\n&quot;</span> <span class="ruby-value str">&quot;or `bundle install --path path/to/gems` to install to an isolated\n&quot;</span> <span class="ruby-value str">&quot;location. Bundler will resolve relative paths relative to\n&quot;</span> <span class="ruby-value str">&quot;your `Gemfile`.&quot;</span>
189: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
190: <span class="ruby-keyword kw">end</span>
191:
192: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;vendor/cache&quot;</span>).<span class="ruby-identifier">exist?</span>
193: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:local</span>] = <span class="ruby-keyword kw">true</span>
194: <span class="ruby-keyword kw">end</span>
195: <span class="ruby-keyword kw">end</span>
196:
197: <span class="ruby-comment cmt"># Can't use Bundler.settings for this because settings needs gemfile.dirname</span>
198: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:system</span>]
199: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-value str">&quot;vendor/bundle&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>]
200: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-identifier">path</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>
201: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>]
202: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:bin</span>] = <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;binstubs&quot;</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:binstubs</span>]
203: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:disable_shared_gems</span>] = <span class="ruby-value str">'1'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>]
204: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>]
205: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">be_quiet!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:quiet</span>]
206:
207: <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">install</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>, <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>, <span class="ruby-identifier">opts</span>)
208: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;vendor/cache&quot;</span>).<span class="ruby-identifier">exist?</span>
209: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Your bundle is complete! &quot;</span> <span class="ruby-operator">+</span>
210: <span class="ruby-value str">&quot;Use `bundle show [gemname]` to see where a bundled gem is installed.&quot;</span>
211:
212: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;\nYour bundle was installed to `#{Bundler.settings[:path]}`&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>]
213:
214: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>
215: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;\nIf you meant to install it to your system, please remove the\n&quot;</span> <span class="ruby-node">&quot;`#{path}` directory and run `bundle install --system`&quot;</span>
216: <span class="ruby-keyword kw">end</span>
217: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GemNotFound</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
218: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>.<span class="ruby-identifier">no_sources?</span>
219: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Your Gemfile doesn't have any sources. You can add one with a line like 'source :gemcutter'&quot;</span>
220: <span class="ruby-keyword kw">end</span>
221: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
222: <span class="ruby-keyword kw">end</span></pre>
192: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:frozen</span>]
193: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">default_lockfile</span>.<span class="ruby-identifier">exist?</span>
194: <span class="ruby-identifier">flag</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>] <span class="ruby-operator">?</span> <span class="ruby-value str">'--deployment'</span> <span class="ruby-operator">:</span> <span class="ruby-value str">'--frozen'</span>
195: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ProductionError</span>, <span class="ruby-node">&quot;The #{flag} flag requires a Gemfile.lock. Please make &quot;</span> <span class="ruby-value str">&quot;sure you have checked your Gemfile.lock into version control &quot;</span> <span class="ruby-value str">&quot;before deploying.&quot;</span>
196: <span class="ruby-keyword kw">end</span>
197:
198: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;vendor/cache&quot;</span>).<span class="ruby-identifier">exist?</span>
199: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:local</span>] = <span class="ruby-keyword kw">true</span>
200: <span class="ruby-keyword kw">end</span>
201:
202: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>] = <span class="ruby-value str">'1'</span>
203: <span class="ruby-keyword kw">end</span>
204:
205: <span class="ruby-comment cmt"># Can't use Bundler.settings for this because settings needs gemfile.dirname</span>
206: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:system</span>]
207: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-value str">&quot;vendor/bundle&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:deployment</span>]
208: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-identifier">path</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>
209: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>] = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:path</span>]
210: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:bin</span>] = <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;binstubs&quot;</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:binstubs</span>]
211: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:disable_shared_gems</span>] = <span class="ruby-value str">'1'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>]
212: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:without</span>].<span class="ruby-identifier">empty?</span>
213: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">be_quiet!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:quiet</span>]
214:
215: <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">install</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>, <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>, <span class="ruby-identifier">opts</span>)
216: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;vendor/cache&quot;</span>).<span class="ruby-identifier">exist?</span>
217:
218: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>]
219: <span class="ruby-identifier">relative_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:path</span>]
220: <span class="ruby-identifier">relative_path</span> = <span class="ruby-value str">&quot;./&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">relative_path</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">relative_path</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-value">//</span>
221: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Your bundle is complete! &quot;</span> <span class="ruby-operator">+</span>
222: <span class="ruby-node">&quot;It was installed into #{relative_path}&quot;</span>
223: <span class="ruby-keyword kw">else</span>
224: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Your bundle is complete! &quot;</span> <span class="ruby-operator">+</span>
225: <span class="ruby-value str">&quot;Use `bundle show [gemname]` to see where a bundled gem is installed.&quot;</span>
226: <span class="ruby-keyword kw">end</span>
227:
228: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>
229: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;The path argument to `bundle install` is deprecated. &quot;</span> <span class="ruby-operator">+</span>
230: <span class="ruby-value str">&quot;It will be removed in version 1.1. &quot;</span> <span class="ruby-operator">+</span>
231: <span class="ruby-node">&quot;Please use `bundle install --path #{path}` instead.&quot;</span>
232: <span class="ruby-keyword kw">end</span>
233: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GemNotFound</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
234: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:local</span>]
235: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Some gems seem to be missing from your vendor/cache directory.&quot;</span>
236: <span class="ruby-keyword kw">end</span>
237:
238: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>.<span class="ruby-identifier">no_sources?</span>
239: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Your Gemfile doesn't have any sources. You can add one with a line like 'source :rubygems'&quot;</span>
240: <span class="ruby-keyword kw">end</span>
241: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
242: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -971,10 +992,10 @@
<div class="method-source-code"
id="lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 259</span>
259: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>
260: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Lock is deprecated. Your bundle is now locked whenever you run `bundle install`.&quot;</span>
261: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 278</span>
278: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>
279: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Lock is deprecated. Your bundle is now locked whenever you run `bundle install`.&quot;</span>
280: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1005,17 +1026,20 @@
<div class="method-source-code"
id="open-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 398</span>
398: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">name</span>)
399: <span class="ruby-identifier">editor</span> = [<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLER_EDITOR'</span>], <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'VISUAL'</span>], <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'EDITOR'</span>]].<span class="ruby-identifier">find</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">e</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">e</span>.<span class="ruby-identifier">empty?</span> }
400: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">editor</span>
401: <span class="ruby-identifier">command</span> = <span class="ruby-node">&quot;#{editor} #{locate_gem(name)}&quot;</span>
402: <span class="ruby-identifier">success</span> = <span class="ruby-identifier">system</span>(<span class="ruby-identifier">command</span>)
403: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Could not run '#{command}'&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">success</span>
404: <span class="ruby-keyword kw">else</span>
405: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR&quot;</span>)
406: <span class="ruby-keyword kw">end</span>
407: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 417</span>
417: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open</span>(<span class="ruby-identifier">name</span>)
418: <span class="ruby-identifier">editor</span> = [<span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLER_EDITOR'</span>], <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'VISUAL'</span>], <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'EDITOR'</span>]].<span class="ruby-identifier">find</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">e</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">e</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">e</span>.<span class="ruby-identifier">empty?</span> }
419: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">editor</span>
420: <span class="ruby-identifier">gem_path</span> = <span class="ruby-identifier">locate_gem</span>(<span class="ruby-identifier">name</span>)
421: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">gem_path</span>) <span class="ruby-keyword kw">do</span>
422: <span class="ruby-identifier">command</span> = <span class="ruby-node">&quot;#{editor} #{gem_path}&quot;</span>
423: <span class="ruby-identifier">success</span> = <span class="ruby-identifier">system</span>(<span class="ruby-identifier">command</span>)
424: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Could not run '#{command}'&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">success</span>
425: <span class="ruby-keyword kw">end</span>
426: <span class="ruby-keyword kw">else</span>
427: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span>(<span class="ruby-value str">&quot;To open a bundled gem, set $EDITOR or $BUNDLER_EDITOR&quot;</span>)
428: <span class="ruby-keyword kw">end</span>
429: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1046,12 +1070,12 @@
<div class="method-source-code"
id="package-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 308</span>
308: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">package</span>
309: <span class="ruby-identifier">install</span>
310: <span class="ruby-comment cmt"># TODO: move cache contents here now that all bundles are locked</span>
311: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span>
312: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 327</span>
327: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">package</span>
328: <span class="ruby-identifier">install</span>
329: <span class="ruby-comment cmt"># TODO: move cache contents here now that all bundles are locked</span>
330: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span>
331: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1082,19 +1106,19 @@
<div class="method-source-code"
id="show-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 273</span>
273: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">show</span>(<span class="ruby-identifier">gem_name</span> = <span class="ruby-keyword kw">nil</span>)
274: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">lock</span>
275:
276: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_name</span>
277: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">locate_gem</span>(<span class="ruby-identifier">gem_name</span>)
278: <span class="ruby-keyword kw">else</span>
279: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;Gems included by the bundle:&quot;</span>
280: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
281: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot; * #{s.name} (#{s.version}#{s.git_version})&quot;</span>
282: <span class="ruby-keyword kw">end</span>
283: <span class="ruby-keyword kw">end</span>
284: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 292</span>
292: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">show</span>(<span class="ruby-identifier">gem_name</span> = <span class="ruby-keyword kw">nil</span>)
293: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">lock</span>
294:
295: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_name</span>
296: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">locate_gem</span>(<span class="ruby-identifier">gem_name</span>)
297: <span class="ruby-keyword kw">else</span>
298: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;Gems included by the bundle:&quot;</span>
299: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
300: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot; * #{s.name} (#{s.version}#{s.git_version})&quot;</span>
301: <span class="ruby-keyword kw">end</span>
302: <span class="ruby-keyword kw">end</span>
303: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1125,10 +1149,10 @@
<div class="method-source-code"
id="unlock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 264</span>
264: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock</span>
265: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Unlock is deprecated. To update to newer gem versions, use `bundle update`.&quot;</span>
266: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 283</span>
283: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock</span>
284: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Unlock is deprecated. To update to newer gem versions, use `bundle update`.&quot;</span>
285: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1159,22 +1183,22 @@
<div class="method-source-code"
id="update-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 242</span>
242: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span>(*<span class="ruby-identifier">gems</span>)
243: <span class="ruby-identifier">sources</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:source</span>])
244:
245: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gems</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">sources</span>.<span class="ruby-identifier">empty?</span>
246: <span class="ruby-comment cmt"># We're doing a full update</span>
247: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>(<span class="ruby-keyword kw">true</span>)
248: <span class="ruby-keyword kw">else</span>
249: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>(<span class="ruby-value">:gems</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">gems</span>, <span class="ruby-value">:sources</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sources</span>)
250: <span class="ruby-keyword kw">end</span>
251:
252: <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">install</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>, <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>, <span class="ruby-value str">&quot;update&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>
253: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;vendor/cache&quot;</span>).<span class="ruby-identifier">exist?</span>
254: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Your bundle is updated! &quot;</span> <span class="ruby-operator">+</span>
255: <span class="ruby-value str">&quot;Use `bundle show [gemname]` to see where a bundled gem is installed.&quot;</span>
256: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 261</span>
261: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update</span>(*<span class="ruby-identifier">gems</span>)
262: <span class="ruby-identifier">sources</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:source</span>])
263:
264: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gems</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">sources</span>.<span class="ruby-identifier">empty?</span>
265: <span class="ruby-comment cmt"># We're doing a full update</span>
266: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>(<span class="ruby-keyword kw">true</span>)
267: <span class="ruby-keyword kw">else</span>
268: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>(<span class="ruby-value">:gems</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">gems</span>, <span class="ruby-value">:sources</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">sources</span>)
269: <span class="ruby-keyword kw">end</span>
270:
271: <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">install</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>, <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">definition</span>, <span class="ruby-value str">&quot;update&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>
272: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">cache</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;vendor/cache&quot;</span>).<span class="ruby-identifier">exist?</span>
273: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Your bundle is updated! &quot;</span> <span class="ruby-operator">+</span>
274: <span class="ruby-value str">&quot;Use `bundle show [gemname]` to see where a bundled gem is installed.&quot;</span>
275: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1205,10 +1229,10 @@
<div class="method-source-code"
id="version-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 420</span>
420: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
421: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Bundler version #{Bundler::VERSION}&quot;</span>
422: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 442</span>
442: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
443: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Bundler version #{Bundler::VERSION}&quot;</span>
444: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1239,27 +1263,27 @@
<div class="method-source-code"
id="viz-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 434</span>
434: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">viz</span>
435: <span class="ruby-identifier">output_file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>])
436: <span class="ruby-identifier">graph</span> = <span class="ruby-constant">Graph</span>.<span class="ruby-identifier">new</span>( <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span> )
437:
438: <span class="ruby-keyword kw">begin</span>
439: <span class="ruby-identifier">graph</span>.<span class="ruby-identifier">viz</span>(<span class="ruby-identifier">output_file</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:version</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:requirements</span>])
440: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">output_file</span>
441: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
442: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">inspect</span>
443: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Make sure you have the graphviz ruby gem. You can install it with:&quot;</span>
444: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;`gem install ruby-graphviz`&quot;</span>
445: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
446: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/GraphViz not installed or dot not in PATH/</span>
447: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
448: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;The ruby graphviz gem requires GraphViz to be installed&quot;</span>
449: <span class="ruby-keyword kw">else</span>
450: <span class="ruby-identifier">raise</span>
451: <span class="ruby-keyword kw">end</span>
452: <span class="ruby-keyword kw">end</span>
453: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 456</span>
456: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">viz</span>
457: <span class="ruby-identifier">output_file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value">:file</span>])
458: <span class="ruby-identifier">graph</span> = <span class="ruby-constant">Graph</span>.<span class="ruby-identifier">new</span>( <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span> )
459:
460: <span class="ruby-keyword kw">begin</span>
461: <span class="ruby-identifier">graph</span>.<span class="ruby-identifier">viz</span>(<span class="ruby-identifier">output_file</span>, <span class="ruby-identifier">options</span>[<span class="ruby-value">:version</span>], <span class="ruby-identifier">options</span>[<span class="ruby-value">:requirements</span>])
462: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-identifier">output_file</span>
463: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
464: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">inspect</span>
465: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;Make sure you have the graphviz ruby gem. You can install it with:&quot;</span>
466: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;`gem install ruby-graphviz`&quot;</span>
467: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">StandardError</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
468: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/GraphViz not installed or dot not in PATH/</span>
469: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
470: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;The ruby graphviz gem requires GraphViz to be installed&quot;</span>
471: <span class="ruby-keyword kw">else</span>
472: <span class="ruby-identifier">raise</span>
473: <span class="ruby-keyword kw">end</span>
474: <span class="ruby-keyword kw">end</span>
475: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1296,11 +1320,10 @@
<div class="method-source-code"
id="have-groff--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 484</span>
484: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">have_groff?</span>
485: <span class="ruby-node">`which groff 2&gt;#{NULL}`</span>
486: <span class="ruby-identifier">$?</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
487: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 505</span>
505: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">have_groff?</span>
506: <span class="ruby-operator">!</span>(<span class="ruby-value">`which groff`</span> <span class="ruby-keyword kw">rescue</span> <span class="ruby-value str">''</span>).<span class="ruby-identifier">empty?</span>
507: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1331,15 +1354,15 @@
<div class="method-source-code"
id="locate-gem-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 489</span>
489: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">locate_gem</span>(<span class="ruby-identifier">name</span>)
490: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> }
491: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-node">&quot;Could not find gem '#{name}' in the current bundle.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">spec</span>
492: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
493: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">'../../../'</span>, <span class="ruby-keyword kw">__FILE__</span>)
494: <span class="ruby-keyword kw">end</span>
495: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>
496: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/cli.rb, line 509</span>
509: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">locate_gem</span>(<span class="ruby-identifier">name</span>)
510: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> }
511: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-node">&quot;Could not find gem '#{name}' in the current bundle.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">spec</span>
512: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
513: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">'../../../'</span>, <span class="ruby-keyword kw">__FILE__</span>)
514: <span class="ruby-keyword kw">end</span>
515: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>
516: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -117,6 +117,8 @@
<li><a href="#method-i-resolve_with_cache%21">#resolve_with_cache!</a></li>
<li><a href="#method-i-rubygems_index">#rubygems_index</a></li>
<li><a href="#method-i-satisfies_locked_spec%3F">#satisfies_locked_spec?</a></li>
<li><a href="#method-i-sorted_sources">#sorted_sources</a></li>
@ -212,6 +214,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -340,6 +344,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -449,11 +455,8 @@
14: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemfileNotFound</span>, <span class="ruby-node">&quot;#{gemfile} not found&quot;</span>
15: <span class="ruby-keyword kw">end</span>
16:
17: <span class="ruby-comment cmt"># TODO: move this back into DSL</span>
18: <span class="ruby-identifier">builder</span> = <span class="ruby-constant">Dsl</span>.<span class="ruby-identifier">new</span>
19: <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">gemfile</span>.<span class="ruby-identifier">to_s</span>), <span class="ruby-identifier">gemfile</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">1</span>)
20: <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">to_definition</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
21: <span class="ruby-keyword kw">end</span></pre>
17: <span class="ruby-constant">Dsl</span>.<span class="ruby-identifier">evaluate</span>(<span class="ruby-identifier">gemfile</span>, <span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
18: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -484,49 +487,49 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 35</span>
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">sources</span>, <span class="ruby-identifier">unlock</span>)
36: <span class="ruby-ivar">@dependencies</span>, <span class="ruby-ivar">@sources</span>, <span class="ruby-ivar">@unlock</span> = <span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">sources</span>, <span class="ruby-identifier">unlock</span>
37: <span class="ruby-ivar">@remote</span> = <span class="ruby-keyword kw">false</span>
38: <span class="ruby-ivar">@specs</span> = <span class="ruby-keyword kw">nil</span>
39: <span class="ruby-ivar">@lockfile_contents</span> = <span class="ruby-value str">&quot;&quot;</span>
40:
41: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lockfile</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">lockfile</span>)
42: <span class="ruby-ivar">@lockfile_contents</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">lockfile</span>)
43: <span class="ruby-identifier">locked</span> = <span class="ruby-constant">LockfileParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@lockfile_contents</span>)
44: <span class="ruby-ivar">@platforms</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">platforms</span>
45:
46: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">unlock</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">true</span>
47: <span class="ruby-ivar">@locked_deps</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">dependencies</span>
48: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">locked</span>.<span class="ruby-identifier">specs</span>)
49: <span class="ruby-ivar">@locked_sources</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">sources</span>
50: <span class="ruby-keyword kw">else</span>
51: <span class="ruby-ivar">@unlock</span> = {}
52: <span class="ruby-ivar">@locked_deps</span> = []
53: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>([])
54: <span class="ruby-ivar">@locked_sources</span> = []
55: <span class="ruby-keyword kw">end</span>
56: <span class="ruby-keyword kw">else</span>
57: <span class="ruby-ivar">@unlock</span> = {}
58: <span class="ruby-ivar">@platforms</span> = []
59: <span class="ruby-ivar">@locked_deps</span> = []
60: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>([])
61: <span class="ruby-ivar">@locked_sources</span> = []
62: <span class="ruby-keyword kw">end</span>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 32</span>
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">sources</span>, <span class="ruby-identifier">unlock</span>)
33: <span class="ruby-ivar">@dependencies</span>, <span class="ruby-ivar">@sources</span>, <span class="ruby-ivar">@unlock</span> = <span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">sources</span>, <span class="ruby-identifier">unlock</span>
34: <span class="ruby-ivar">@remote</span> = <span class="ruby-keyword kw">false</span>
35: <span class="ruby-ivar">@specs</span> = <span class="ruby-keyword kw">nil</span>
36: <span class="ruby-ivar">@lockfile_contents</span> = <span class="ruby-value str">&quot;&quot;</span>
37:
38: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">lockfile</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">lockfile</span>)
39: <span class="ruby-ivar">@lockfile_contents</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">lockfile</span>)
40: <span class="ruby-identifier">locked</span> = <span class="ruby-constant">LockfileParser</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@lockfile_contents</span>)
41: <span class="ruby-ivar">@platforms</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">platforms</span>
42:
43: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">unlock</span> <span class="ruby-operator">!=</span> <span class="ruby-keyword kw">true</span>
44: <span class="ruby-ivar">@locked_deps</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">dependencies</span>
45: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">locked</span>.<span class="ruby-identifier">specs</span>)
46: <span class="ruby-ivar">@locked_sources</span> = <span class="ruby-identifier">locked</span>.<span class="ruby-identifier">sources</span>
47: <span class="ruby-keyword kw">else</span>
48: <span class="ruby-ivar">@unlock</span> = {}
49: <span class="ruby-ivar">@locked_deps</span> = []
50: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>([])
51: <span class="ruby-ivar">@locked_sources</span> = []
52: <span class="ruby-keyword kw">end</span>
53: <span class="ruby-keyword kw">else</span>
54: <span class="ruby-ivar">@unlock</span> = {}
55: <span class="ruby-ivar">@platforms</span> = []
56: <span class="ruby-ivar">@locked_deps</span> = []
57: <span class="ruby-ivar">@locked_specs</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>([])
58: <span class="ruby-ivar">@locked_sources</span> = []
59: <span class="ruby-keyword kw">end</span>
60:
61: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">||=</span> []
62: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>] <span class="ruby-operator">||=</span> []
63:
64: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">||=</span> []
65: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>] <span class="ruby-operator">||=</span> []
66:
67: <span class="ruby-identifier">current_platform</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">generic</span>(<span class="ruby-identifier">p</span>) }.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">last</span>
68: <span class="ruby-ivar">@new_platform</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">current_platform</span>)
69: <span class="ruby-ivar">@platforms</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">current_platform</span>]
64: <span class="ruby-identifier">current_platform</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">generic</span>(<span class="ruby-identifier">p</span>) }.<span class="ruby-identifier">compact</span>.<span class="ruby-identifier">last</span>
65: <span class="ruby-ivar">@new_platform</span> = <span class="ruby-operator">!</span><span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">current_platform</span>)
66: <span class="ruby-ivar">@platforms</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">current_platform</span>]
67:
68: <span class="ruby-identifier">eager_unlock</span> = <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>])
69: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] = <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">eager_unlock</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }
70:
71: <span class="ruby-identifier">eager_unlock</span> = <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>])
72: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] = <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">eager_unlock</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }
73:
74: <span class="ruby-identifier">converge_sources</span>
75: <span class="ruby-identifier">converge_dependencies</span>
76: <span class="ruby-keyword kw">end</span></pre>
71: <span class="ruby-identifier">converge_sources</span>
72: <span class="ruby-identifier">converge_dependencies</span>
73: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -563,10 +566,10 @@
<div class="method-source-code"
id="current-dependencies-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 130</span>
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_dependencies</span>
131: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> }
132: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 128</span>
128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_dependencies</span>
129: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> }
130: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -597,61 +600,61 @@
<div class="method-source-code"
id="ensure-equivalent-gemfile-and-lockfile-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 230</span>
230: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_equivalent_gemfile_and_lockfile</span>
231: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">false</span>
232:
233: <span class="ruby-identifier">msg</span> = <span class="ruby-value str">&quot;You have modified your Gemfile in development but did not check\n&quot;</span> <span class="ruby-value str">&quot;the resulting snapshot (Gemfile.lock) into version control&quot;</span>
234:
235: <span class="ruby-identifier">added</span> = []
236: <span class="ruby-identifier">deleted</span> = []
237: <span class="ruby-identifier">changed</span> = []
238:
239: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@locked_sources</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@sources</span>
240: <span class="ruby-identifier">new_sources</span> = <span class="ruby-ivar">@sources</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_sources</span>
241: <span class="ruby-identifier">deleted_sources</span> = <span class="ruby-ivar">@locked_sources</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@sources</span>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 238</span>
238: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ensure_equivalent_gemfile_and_lockfile</span>
239: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">false</span>
240:
241: <span class="ruby-identifier">msg</span> = <span class="ruby-value str">&quot;You have modified your Gemfile in development but did not check\n&quot;</span> <span class="ruby-value str">&quot;the resulting snapshot (Gemfile.lock) into version control&quot;</span>
242:
243: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_sources</span>.<span class="ruby-identifier">any?</span>
244: <span class="ruby-identifier">added</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">new_sources</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* source: #{source}&quot;</span> }
245: <span class="ruby-keyword kw">end</span>
243: <span class="ruby-identifier">added</span> = []
244: <span class="ruby-identifier">deleted</span> = []
245: <span class="ruby-identifier">changed</span> = []
246:
247: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted_sources</span>.<span class="ruby-identifier">any?</span>
248: <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">deleted_sources</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* source: #{source}&quot;</span> }
249: <span class="ruby-keyword kw">end</span>
247: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@locked_sources</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@sources</span>
248: <span class="ruby-identifier">new_sources</span> = <span class="ruby-ivar">@sources</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_sources</span>
249: <span class="ruby-identifier">deleted_sources</span> = <span class="ruby-ivar">@locked_sources</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@sources</span>
250:
251: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">true</span>
252: <span class="ruby-keyword kw">end</span>
253:
254: <span class="ruby-identifier">both_sources</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [<span class="ruby-value str">&quot;no specified source&quot;</span>, <span class="ruby-value str">&quot;no specified source&quot;</span>] }
255: <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">both_sources</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>][<span class="ruby-value">0</span>] = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> }
256: <span class="ruby-ivar">@locked_deps</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">both_sources</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>][<span class="ruby-value">1</span>] = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> }
257: <span class="ruby-identifier">both_sources</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">v</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">v</span>[<span class="ruby-value">1</span>] }
251: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_sources</span>.<span class="ruby-identifier">any?</span>
252: <span class="ruby-identifier">added</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">new_sources</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* source: #{source}&quot;</span> }
253: <span class="ruby-keyword kw">end</span>
254:
255: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted_sources</span>.<span class="ruby-identifier">any?</span>
256: <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">deleted_sources</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* source: #{source}&quot;</span> }
257: <span class="ruby-keyword kw">end</span>
258:
259: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@locked_deps</span>
260: <span class="ruby-identifier">new_deps</span> = <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_deps</span>
261: <span class="ruby-identifier">deleted_deps</span> = <span class="ruby-ivar">@locked_deps</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@dependencies</span>
262:
263: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_deps</span>.<span class="ruby-identifier">any?</span>
264: <span class="ruby-identifier">added</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">new_deps</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* #{pretty_dep(d)}&quot;</span> }
265: <span class="ruby-keyword kw">end</span>
259: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">true</span>
260: <span class="ruby-keyword kw">end</span>
261:
262: <span class="ruby-identifier">both_sources</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [<span class="ruby-value str">&quot;no specified source&quot;</span>, <span class="ruby-value str">&quot;no specified source&quot;</span>] }
263: <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">both_sources</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>][<span class="ruby-value">0</span>] = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> }
264: <span class="ruby-ivar">@locked_deps</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">both_sources</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>][<span class="ruby-value">1</span>] = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span> }
265: <span class="ruby-identifier">both_sources</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span> <span class="ruby-identifier">v</span>[<span class="ruby-value">0</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">v</span>[<span class="ruby-value">1</span>] }
266:
267: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted_deps</span>.<span class="ruby-identifier">any?</span>
268: <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">deleted_deps</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* #{pretty_dep(d)}&quot;</span> }
269: <span class="ruby-keyword kw">end</span>
267: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">!=</span> <span class="ruby-ivar">@locked_deps</span>
268: <span class="ruby-identifier">new_deps</span> = <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_deps</span>
269: <span class="ruby-identifier">deleted_deps</span> = <span class="ruby-ivar">@locked_deps</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@dependencies</span>
270:
271: <span class="ruby-identifier">both_sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">sources</span><span class="ruby-operator">|</span>
272: <span class="ruby-identifier">changed</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;* #{name} from `#{sources[0]}` to `#{sources[1]}`&quot;</span>
271: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">new_deps</span>.<span class="ruby-identifier">any?</span>
272: <span class="ruby-identifier">added</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">new_deps</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* #{pretty_dep(d)}&quot;</span> }
273: <span class="ruby-keyword kw">end</span>
274:
275: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">true</span>
276: <span class="ruby-keyword kw">end</span>
277:
278: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n\nYou have added to the Gemfile:\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">any?</span>
279: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n\nYou have deleted from the Gemfile:\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">any?</span>
280: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n\nYou have changed in the Gemfile:\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">any?</span>
281:
282: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ProductionError</span>, <span class="ruby-identifier">msg</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">any?</span>
283: <span class="ruby-keyword kw">end</span></pre>
275: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted_deps</span>.<span class="ruby-identifier">any?</span>
276: <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">deleted_deps</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;* #{pretty_dep(d)}&quot;</span> }
277: <span class="ruby-keyword kw">end</span>
278:
279: <span class="ruby-identifier">both_sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">sources</span><span class="ruby-operator">|</span>
280: <span class="ruby-identifier">changed</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;* #{name} from `#{sources[0]}` to `#{sources[1]}`&quot;</span>
281: <span class="ruby-keyword kw">end</span>
282:
283: <span class="ruby-identifier">changes</span> = <span class="ruby-keyword kw">true</span>
284: <span class="ruby-keyword kw">end</span>
285:
286: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n\nYou have added to the Gemfile:\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">any?</span>
287: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n\nYou have deleted from the Gemfile:\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">any?</span>
288: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n\nYou have changed in the Gemfile:\n&quot;</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">any?</span>
289:
290: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ProductionError</span>, <span class="ruby-identifier">msg</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">added</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">deleted</span>.<span class="ruby-identifier">any?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">changed</span>.<span class="ruby-identifier">any?</span>
291: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -682,10 +685,10 @@
<div class="method-source-code"
id="groups-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 170</span>
170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">groups</span>
171: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> }.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>
172: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 176</span>
176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">groups</span>
177: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> }.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>
178: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -716,14 +719,14 @@
<div class="method-source-code"
id="index-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 158</span>
158: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
159: <span class="ruby-ivar">@index</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
160: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
161: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">specs</span>
162: <span class="ruby-keyword kw">end</span>
163: <span class="ruby-keyword kw">end</span>
164: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 156</span>
156: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">index</span>
157: <span class="ruby-ivar">@index</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
158: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
159: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">specs</span>
160: <span class="ruby-keyword kw">end</span>
161: <span class="ruby-keyword kw">end</span>
162: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -754,21 +757,23 @@
<div class="method-source-code"
id="lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 174</span>
174: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>(<span class="ruby-identifier">file</span>)
175: <span class="ruby-identifier">contents</span> = <span class="ruby-identifier">to_lock</span>
176:
177: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lockfile_contents</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">contents</span>
178:
179: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>]
180: <span class="ruby-comment cmt"># TODO: Warn here if we got here.</span>
181: <span class="ruby-keyword kw">return</span>
182: <span class="ruby-keyword kw">end</span>
183:
184: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">'wb'</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
185: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">contents</span>
186: <span class="ruby-keyword kw">end</span>
187: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 180</span>
180: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">lock</span>(<span class="ruby-identifier">file</span>)
181: <span class="ruby-identifier">contents</span> = <span class="ruby-identifier">to_lock</span>
182:
183: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lockfile_contents</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">contents</span>
184:
185: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>]
186: <span class="ruby-comment cmt"># TODO: Warn here if we got here.</span>
187: <span class="ruby-keyword kw">return</span>
188: <span class="ruby-keyword kw">end</span>
189:
190: <span class="ruby-comment cmt"># Convert to \r\n if the existing lock has them</span>
191: <span class="ruby-comment cmt"># i.e., Windows with `git config core.autocrlf=true`</span>
192: <span class="ruby-identifier">contents</span>.<span class="ruby-identifier">gsub!</span>(<span class="ruby-regexp re">/\n/</span>, <span class="ruby-value str">&quot;\r\n&quot;</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@lockfile_contents</span>.<span class="ruby-identifier">match</span>(<span class="ruby-value str">&quot;\r\n&quot;</span>)
193:
194: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-identifier">file</span>, <span class="ruby-value str">'wb'</span>){<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">contents</span>) }
195: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -799,12 +804,12 @@
<div class="method-source-code"
id="missing-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 116</span>
116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">missing_specs</span>
117: <span class="ruby-identifier">missing</span> = []
118: <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">materialize</span>(<span class="ruby-identifier">requested_dependencies</span>, <span class="ruby-identifier">missing</span>)
119: <span class="ruby-identifier">missing</span>
120: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 114</span>
114: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">missing_specs</span>
115: <span class="ruby-identifier">missing</span> = []
116: <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">materialize</span>(<span class="ruby-identifier">requested_dependencies</span>, <span class="ruby-identifier">missing</span>)
117: <span class="ruby-identifier">missing</span>
118: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -835,10 +840,10 @@
<div class="method-source-code"
id="new-platform--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 112</span>
112: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_platform?</span>
113: <span class="ruby-ivar">@new_platform</span>
114: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 110</span>
110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_platform?</span>
111: <span class="ruby-ivar">@new_platform</span>
112: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -869,10 +874,10 @@
<div class="method-source-code"
id="new-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 104</span>
104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_specs</span>
105: <span class="ruby-identifier">specs</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_specs</span>
106: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 102</span>
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">new_specs</span>
103: <span class="ruby-identifier">specs</span> <span class="ruby-operator">-</span> <span class="ruby-ivar">@locked_specs</span>
104: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -903,10 +908,10 @@
<div class="method-source-code"
id="no-sources--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 166</span>
166: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">no_sources?</span>
167: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">empty?</span>
168: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 172</span>
172: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">no_sources?</span>
173: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">length</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">empty?</span>
174: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -937,10 +942,10 @@
<div class="method-source-code"
id="removed-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 108</span>
108: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">removed_specs</span>
109: <span class="ruby-ivar">@locked_specs</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">specs</span>
110: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 106</span>
106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">removed_specs</span>
107: <span class="ruby-ivar">@locked_specs</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">specs</span>
108: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -971,14 +976,14 @@
<div class="method-source-code"
id="requested-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 122</span>
122: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requested_specs</span>
123: <span class="ruby-ivar">@requested_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
124: <span class="ruby-identifier">groups</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">groups</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span>
125: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
126: <span class="ruby-identifier">specs_for</span>(<span class="ruby-identifier">groups</span>)
127: <span class="ruby-keyword kw">end</span>
128: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 120</span>
120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requested_specs</span>
121: <span class="ruby-ivar">@requested_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
122: <span class="ruby-identifier">groups</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">groups</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span>
123: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
124: <span class="ruby-identifier">specs_for</span>(<span class="ruby-identifier">groups</span>)
125: <span class="ruby-keyword kw">end</span>
126: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1009,24 +1014,24 @@
<div class="method-source-code"
id="resolve-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 140</span>
140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>
141: <span class="ruby-ivar">@resolve</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
142: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>]
143: <span class="ruby-ivar">@locked_specs</span>
144: <span class="ruby-keyword kw">else</span>
145: <span class="ruby-identifier">last_resolve</span> = <span class="ruby-identifier">converge_locked_specs</span>
146: <span class="ruby-identifier">source_requirements</span> = {}
147: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
148: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
149: <span class="ruby-identifier">source_requirements</span>[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>
150: <span class="ruby-keyword kw">end</span>
151:
152: <span class="ruby-comment cmt"># Run a resolve against the locally available gems</span>
153: <span class="ruby-identifier">last_resolve</span>.<span class="ruby-identifier">merge</span> <span class="ruby-constant">Resolver</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">expanded_dependencies</span>, <span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">last_resolve</span>)
154: <span class="ruby-keyword kw">end</span>
155: <span class="ruby-keyword kw">end</span>
156: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 138</span>
138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>
139: <span class="ruby-ivar">@resolve</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
140: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>]
141: <span class="ruby-ivar">@locked_specs</span>
142: <span class="ruby-keyword kw">else</span>
143: <span class="ruby-identifier">last_resolve</span> = <span class="ruby-identifier">converge_locked_specs</span>
144: <span class="ruby-identifier">source_requirements</span> = {}
145: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
146: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
147: <span class="ruby-identifier">source_requirements</span>[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>
148: <span class="ruby-keyword kw">end</span>
149:
150: <span class="ruby-comment cmt"># Run a resolve against the locally available gems</span>
151: <span class="ruby-identifier">last_resolve</span>.<span class="ruby-identifier">merge</span> <span class="ruby-constant">Resolver</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">expanded_dependencies</span>, <span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">last_resolve</span>)
152: <span class="ruby-keyword kw">end</span>
153: <span class="ruby-keyword kw">end</span>
154: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1057,13 +1062,13 @@
<div class="method-source-code"
id="resolve-remotely--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 84</span>
84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_remotely!</span>
85: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Specs already loaded&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@specs</span>
86: <span class="ruby-ivar">@remote</span> = <span class="ruby-keyword kw">true</span>
87: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">remote!</span> }
88: <span class="ruby-identifier">specs</span>
89: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 81</span>
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_remotely!</span>
82: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Specs already loaded&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@specs</span>
83: <span class="ruby-ivar">@remote</span> = <span class="ruby-keyword kw">true</span>
84: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">remote!</span> }
85: <span class="ruby-identifier">specs</span>
86: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1094,12 +1099,50 @@
<div class="method-source-code"
id="resolve-with-cache--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 78</span>
78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_with_cache!</span>
79: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Specs already loaded&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@specs</span>
80: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">cached!</span> }
81: <span class="ruby-identifier">specs</span>
82: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 75</span>
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve_with_cache!</span>
76: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Specs already loaded&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@specs</span>
77: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">cached!</span> }
78: <span class="ruby-identifier">specs</span>
79: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="rubygems-index-method" class="method-detail ">
<a name="method-i-rubygems_index"></a>
<div class="method-heading">
<span class="method-name">rubygems_index</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="rubygems-index-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 164</span>
164: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubygems_index</span>
165: <span class="ruby-ivar">@rubygems_index</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
166: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find_all</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span>) }.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
167: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">specs</span>
168: <span class="ruby-keyword kw">end</span>
169: <span class="ruby-keyword kw">end</span>
170: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1130,19 +1173,20 @@
<div class="method-source-code"
id="specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 91</span>
91: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
92: <span class="ruby-ivar">@specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
93: <span class="ruby-identifier">specs</span> = <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">materialize</span>(<span class="ruby-identifier">requested_dependencies</span>)
94:
95: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">specs</span>[<span class="ruby-value str">&quot;bundler&quot;</span>].<span class="ruby-identifier">any?</span>
96: <span class="ruby-identifier">bundler</span> = <span class="ruby-identifier">index</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'bundler'</span>, <span class="ruby-constant">VERSION</span>)).<span class="ruby-identifier">last</span>
97: <span class="ruby-identifier">specs</span>[<span class="ruby-value str">&quot;bundler&quot;</span>] = <span class="ruby-identifier">bundler</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bundler</span>
98: <span class="ruby-keyword kw">end</span>
99:
100: <span class="ruby-identifier">specs</span>
101: <span class="ruby-keyword kw">end</span>
102: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 88</span>
88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
89: <span class="ruby-ivar">@specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
90: <span class="ruby-identifier">specs</span> = <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">materialize</span>(<span class="ruby-identifier">requested_dependencies</span>)
91:
92: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">specs</span>[<span class="ruby-value str">&quot;bundler&quot;</span>].<span class="ruby-identifier">any?</span>
93: <span class="ruby-identifier">local</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:frozen</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">rubygems_index</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">index</span>
94: <span class="ruby-identifier">bundler</span> = <span class="ruby-identifier">local</span>.<span class="ruby-identifier">search</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'bundler'</span>, <span class="ruby-constant">VERSION</span>)).<span class="ruby-identifier">last</span>
95: <span class="ruby-identifier">specs</span>[<span class="ruby-value str">&quot;bundler&quot;</span>] = <span class="ruby-identifier">bundler</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">bundler</span>
96: <span class="ruby-keyword kw">end</span>
97:
98: <span class="ruby-identifier">specs</span>
99: <span class="ruby-keyword kw">end</span>
100: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1173,12 +1217,12 @@
<div class="method-source-code"
id="specs-for-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 134</span>
134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs_for</span>(<span class="ruby-identifier">groups</span>)
135: <span class="ruby-identifier">deps</span> = <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> (<span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> &amp; <span class="ruby-identifier">groups</span>).<span class="ruby-identifier">any?</span> }
136: <span class="ruby-identifier">deps</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> }
137: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">deps</span>))
138: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 132</span>
132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs_for</span>(<span class="ruby-identifier">groups</span>)
133: <span class="ruby-identifier">deps</span> = <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> (<span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> &amp; <span class="ruby-identifier">groups</span>).<span class="ruby-identifier">any?</span> }
134: <span class="ruby-identifier">deps</span>.<span class="ruby-identifier">delete_if</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> }
135: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">deps</span>))
136: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1209,47 +1253,47 @@
<div class="method-source-code"
id="to-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 189</span>
189: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
190: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;&quot;</span>
191:
192: <span class="ruby-identifier">sorted_sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
193: <span class="ruby-comment cmt"># Add the source header</span>
194: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">to_lock</span>
195: <span class="ruby-comment cmt"># Find all specs for this source</span>
196: <span class="ruby-identifier">resolve</span>.
197: <span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }.
198: <span class="ruby-comment cmt"># This needs to be sorted by full name so that</span>
199: <span class="ruby-comment cmt"># gems with the same name, but different platform</span>
200: <span class="ruby-comment cmt"># are ordered consistantly</span>
201: <span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">full_name</span> }.
202: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
203: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
204: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">to_lock</span>
205: <span class="ruby-keyword kw">end</span>
206: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
207: <span class="ruby-keyword kw">end</span>
208:
209: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;PLATFORMS\n&quot;</span>
210:
211: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
212: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{p}\n&quot;</span>
213: <span class="ruby-keyword kw">end</span>
214:
215: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
216: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;DEPENDENCIES\n&quot;</span>
217:
218: <span class="ruby-identifier">handled</span> = []
219: <span class="ruby-identifier">dependencies</span>.
220: <span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span> }.
221: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
222: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">handled</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>)
223: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">to_lock</span>
224: <span class="ruby-identifier">handled</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
225: <span class="ruby-keyword kw">end</span>
226:
227: <span class="ruby-identifier">out</span>
228: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 197</span>
197: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
198: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;&quot;</span>
199:
200: <span class="ruby-identifier">sorted_sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
201: <span class="ruby-comment cmt"># Add the source header</span>
202: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">to_lock</span>
203: <span class="ruby-comment cmt"># Find all specs for this source</span>
204: <span class="ruby-identifier">resolve</span>.
205: <span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }.
206: <span class="ruby-comment cmt"># This needs to be sorted by full name so that</span>
207: <span class="ruby-comment cmt"># gems with the same name, but different platform</span>
208: <span class="ruby-comment cmt"># are ordered consistantly</span>
209: <span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">full_name</span> }.
210: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
211: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
212: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">to_lock</span>
213: <span class="ruby-keyword kw">end</span>
214: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
215: <span class="ruby-keyword kw">end</span>
216:
217: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;PLATFORMS\n&quot;</span>
218:
219: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">sort</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
220: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{p}\n&quot;</span>
221: <span class="ruby-keyword kw">end</span>
222:
223: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
224: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;DEPENDENCIES\n&quot;</span>
225:
226: <span class="ruby-identifier">handled</span> = []
227: <span class="ruby-identifier">dependencies</span>.
228: <span class="ruby-identifier">sort_by</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span> }.
229: <span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
230: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">handled</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>)
231: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">to_lock</span>
232: <span class="ruby-identifier">handled</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
233: <span class="ruby-keyword kw">end</span>
234:
235: <span class="ruby-identifier">out</span>
236: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1286,14 +1330,14 @@
<div class="method-source-code"
id="converge-dependencies-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 312</span>
312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_dependencies</span>
313: (<span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@locked_deps</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
314: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
315: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s</span> }
316: <span class="ruby-keyword kw">end</span>
317: <span class="ruby-keyword kw">end</span>
318: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 320</span>
320: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_dependencies</span>
321: (<span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@locked_deps</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
322: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
323: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">s</span> }
324: <span class="ruby-keyword kw">end</span>
325: <span class="ruby-keyword kw">end</span>
326: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1328,68 +1372,68 @@ generated
<div class="method-source-code"
id="converge-locked-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 323</span>
323: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_locked_specs</span>
324: <span class="ruby-identifier">deps</span> = []
325:
326: <span class="ruby-comment cmt"># Build a list of dependencies that are the same in the Gemfile</span>
327: <span class="ruby-comment cmt"># and Gemfile.lock. If the Gemfile modified a dependency, but</span>
328: <span class="ruby-comment cmt"># the gem in the Gemfile.lock still satisfies it, this is fine</span>
329: <span class="ruby-comment cmt"># too.</span>
330: <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
331: <span class="ruby-identifier">locked_dep</span> = <span class="ruby-ivar">@locked_deps</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dep</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">d</span> }
332:
333: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">in_locked_deps?</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">locked_dep</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">satisfies_locked_spec?</span>(<span class="ruby-identifier">dep</span>)
334: <span class="ruby-identifier">deps</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">dep</span>
335: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">locked_dep</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">locked_dep</span>.<span class="ruby-identifier">source</span>)
336: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
337: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
338: <span class="ruby-keyword kw">end</span>
339:
340: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>)
341: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }
342: <span class="ruby-keyword kw">end</span>
343: <span class="ruby-keyword kw">end</span>
344:
345: <span class="ruby-identifier">converged</span> = []
346: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
347: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">src</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">src</span> }
348:
349: <span class="ruby-comment cmt"># Don't add a spec to the list if its source is expired. For example,</span>
350: <span class="ruby-comment cmt"># if you change a Git gem to Rubygems.</span>
351: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span>)
352: <span class="ruby-comment cmt"># If the spec is from a path source and it doesn't exist anymore</span>
353: <span class="ruby-comment cmt"># then we just unlock it.</span>
354:
355: <span class="ruby-comment cmt"># Path sources have special logic</span>
356: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>)
357: <span class="ruby-identifier">other</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>[<span class="ruby-identifier">s</span>].<span class="ruby-identifier">first</span>
358:
359: <span class="ruby-comment cmt"># If the spec is no longer in the path source, unlock it. This</span>
360: <span class="ruby-comment cmt"># commonly happens if the version changed in the gemspec</span>
361: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>
362: <span class="ruby-comment cmt"># If the dependencies of the path source have changed, unlock it</span>
363: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">sort</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">sort</span>
364: <span class="ruby-keyword kw">end</span>
365:
366: <span class="ruby-identifier">converged</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
367: <span class="ruby-keyword kw">end</span>
368:
369: <span class="ruby-identifier">resolve</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">converged</span>)
370: <span class="ruby-identifier">resolve</span> = <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">deps</span>, <span class="ruby-keyword kw">true</span>), <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>])
371: <span class="ruby-identifier">diff</span> = <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">to_a</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">to_a</span>
372:
373: <span class="ruby-comment cmt"># Now, we unlock any sources that do not have anymore gems pinned to it</span>
374: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
375: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>)
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 331</span>
331: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_locked_specs</span>
332: <span class="ruby-identifier">deps</span> = []
333:
334: <span class="ruby-comment cmt"># Build a list of dependencies that are the same in the Gemfile</span>
335: <span class="ruby-comment cmt"># and Gemfile.lock. If the Gemfile modified a dependency, but</span>
336: <span class="ruby-comment cmt"># the gem in the Gemfile.lock still satisfies it, this is fine</span>
337: <span class="ruby-comment cmt"># too.</span>
338: <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
339: <span class="ruby-identifier">locked_dep</span> = <span class="ruby-ivar">@locked_deps</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dep</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">d</span> }
340:
341: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">in_locked_deps?</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">locked_dep</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">satisfies_locked_spec?</span>(<span class="ruby-identifier">dep</span>)
342: <span class="ruby-identifier">deps</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">dep</span>
343: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">current_platform?</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">locked_dep</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">locked_dep</span>.<span class="ruby-identifier">source</span>)
344: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
345: <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
346: <span class="ruby-keyword kw">end</span>
347:
348: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>)
349: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> }
350: <span class="ruby-keyword kw">end</span>
351: <span class="ruby-keyword kw">end</span>
352:
353: <span class="ruby-identifier">converged</span> = []
354: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
355: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">src</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">src</span> }
356:
357: <span class="ruby-comment cmt"># Don't add a spec to the list if its source is expired. For example,</span>
358: <span class="ruby-comment cmt"># if you change a Git gem to Rubygems.</span>
359: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span>)
360: <span class="ruby-comment cmt"># If the spec is from a path source and it doesn't exist anymore</span>
361: <span class="ruby-comment cmt"># then we just unlock it.</span>
362:
363: <span class="ruby-comment cmt"># Path sources have special logic</span>
364: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>)
365: <span class="ruby-identifier">other</span> = <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">specs</span>[<span class="ruby-identifier">s</span>].<span class="ruby-identifier">first</span>
366:
367: <span class="ruby-comment cmt"># If the spec is no longer in the path source, unlock it. This</span>
368: <span class="ruby-comment cmt"># commonly happens if the version changed in the gemspec</span>
369: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>
370: <span class="ruby-comment cmt"># If the dependencies of the path source have changed, unlock it</span>
371: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">sort</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">other</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">sort</span>
372: <span class="ruby-keyword kw">end</span>
373:
374: <span class="ruby-identifier">converged</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
375: <span class="ruby-keyword kw">end</span>
376:
377: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }
378: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">diff</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }
379: <span class="ruby-keyword kw">end</span>
380: <span class="ruby-keyword kw">end</span>
381:
382: <span class="ruby-identifier">resolve</span>
383: <span class="ruby-keyword kw">end</span></pre>
377: <span class="ruby-identifier">resolve</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">converged</span>)
378: <span class="ruby-identifier">resolve</span> = <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">for</span>(<span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">deps</span>, <span class="ruby-keyword kw">true</span>), <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:gems</span>])
379: <span class="ruby-identifier">diff</span> = <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">to_a</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">to_a</span>
380:
381: <span class="ruby-comment cmt"># Now, we unlock any sources that do not have anymore gems pinned to it</span>
382: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
383: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>)
384:
385: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }
386: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">diff</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">diff</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> }
387: <span class="ruby-keyword kw">end</span>
388: <span class="ruby-keyword kw">end</span>
389:
390: <span class="ruby-identifier">resolve</span>
391: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1420,23 +1464,23 @@ generated
<div class="method-source-code"
id="converge-sources-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 295</span>
295: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_sources</span>
296: <span class="ruby-identifier">locked_gem</span> = <span class="ruby-ivar">@locked_sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">s</span> }
297: <span class="ruby-identifier">actual_gem</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">s</span> }
298:
299: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">locked_gem</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">actual_gem</span>
300: <span class="ruby-identifier">locked_gem</span>.<span class="ruby-identifier">merge_remotes</span> <span class="ruby-identifier">actual_gem</span>
301: <span class="ruby-keyword kw">end</span>
302:
303: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
304: <span class="ruby-ivar">@locked_sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> } <span class="ruby-operator">||</span> <span class="ruby-identifier">source</span>
305: <span class="ruby-keyword kw">end</span>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 303</span>
303: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">converge_sources</span>
304: <span class="ruby-identifier">locked_gem</span> = <span class="ruby-ivar">@locked_sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">s</span> }
305: <span class="ruby-identifier">actual_gem</span> = <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">s</span> }
306:
307: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
308: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">source</span>.<span class="ruby-identifier">name</span>)
307: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">locked_gem</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">actual_gem</span>
308: <span class="ruby-identifier">locked_gem</span>.<span class="ruby-identifier">merge_remotes</span> <span class="ruby-identifier">actual_gem</span>
309: <span class="ruby-keyword kw">end</span>
310: <span class="ruby-keyword kw">end</span></pre>
310:
311: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">map!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
312: <span class="ruby-ivar">@locked_sources</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">source</span> } <span class="ruby-operator">||</span> <span class="ruby-identifier">source</span>
313: <span class="ruby-keyword kw">end</span>
314:
315: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">source</span><span class="ruby-operator">|</span>
316: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">unlock!</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:unlock!</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@unlock</span>[<span class="ruby-value">:sources</span>].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">source</span>.<span class="ruby-identifier">name</span>)
317: <span class="ruby-keyword kw">end</span>
318: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1467,17 +1511,17 @@ generated
<div class="method-source-code"
id="expand-dependencies-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 397</span>
397: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">remote</span> = <span class="ruby-keyword kw">false</span>)
398: <span class="ruby-identifier">deps</span> = []
399: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
400: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-value str">&quot;&gt;= 0&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:name</span>)
401: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">gem_platforms</span>(<span class="ruby-ivar">@platforms</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
402: <span class="ruby-identifier">deps</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">p</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">remote</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">local</span>)
403: <span class="ruby-keyword kw">end</span>
404: <span class="ruby-keyword kw">end</span>
405: <span class="ruby-identifier">deps</span>
406: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 405</span>
405: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">dependencies</span>, <span class="ruby-identifier">remote</span> = <span class="ruby-keyword kw">false</span>)
406: <span class="ruby-identifier">deps</span> = []
407: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
408: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-value str">&quot;&gt;= 0&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:name</span>)
409: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">gem_platforms</span>(<span class="ruby-ivar">@platforms</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
410: <span class="ruby-identifier">deps</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">p</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">remote</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">local</span>)
411: <span class="ruby-keyword kw">end</span>
412: <span class="ruby-keyword kw">end</span>
413: <span class="ruby-identifier">deps</span>
414: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1508,10 +1552,10 @@ generated
<div class="method-source-code"
id="expanded-dependencies-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 393</span>
393: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expanded_dependencies</span>
394: <span class="ruby-ivar">@expanded_dependencies</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">dependencies</span>, <span class="ruby-ivar">@remote</span>)
395: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 401</span>
401: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">expanded_dependencies</span>
402: <span class="ruby-ivar">@expanded_dependencies</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">expand_dependencies</span>(<span class="ruby-identifier">dependencies</span>, <span class="ruby-ivar">@remote</span>)
403: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1542,10 +1586,10 @@ generated
<div class="method-source-code"
id="in-locked-deps--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 385</span>
385: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">in_locked_deps?</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">d</span>)
386: <span class="ruby-identifier">d</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span>
387: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 393</span>
393: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">in_locked_deps?</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">d</span>)
394: <span class="ruby-identifier">d</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">source</span>
395: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1576,13 +1620,13 @@ generated
<div class="method-source-code"
id="pretty-dep-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 288</span>
288: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty_dep</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">false</span>)
289: <span class="ruby-identifier">msg</span> = <span class="ruby-node">&quot;#{dep.name}&quot;</span>
290: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; (#{dep.requirement})&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Requirement</span>.<span class="ruby-identifier">default</span>
291: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; from the `#{dep.source}` source&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
292: <span class="ruby-identifier">msg</span>
293: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 296</span>
296: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pretty_dep</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">false</span>)
297: <span class="ruby-identifier">msg</span> = <span class="ruby-node">&quot;#{dep.name}&quot;</span>
298: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; (#{dep.requirement})&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Requirement</span>.<span class="ruby-identifier">default</span>
299: <span class="ruby-identifier">msg</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; from the `#{dep.source}` source&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
300: <span class="ruby-identifier">msg</span>
301: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1613,12 +1657,12 @@ generated
<div class="method-source-code"
id="requested-dependencies-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 415</span>
415: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requested_dependencies</span>
416: <span class="ruby-identifier">groups</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">groups</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span>
417: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
418: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> &amp; <span class="ruby-identifier">groups</span>).<span class="ruby-identifier">empty?</span> }
419: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 423</span>
423: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requested_dependencies</span>
424: <span class="ruby-identifier">groups</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">groups</span> <span class="ruby-operator">-</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>.<span class="ruby-identifier">without</span>
425: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
426: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">reject</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-operator">!</span><span class="ruby-identifier">d</span>.<span class="ruby-identifier">should_include?</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">d</span>.<span class="ruby-identifier">groups</span> &amp; <span class="ruby-identifier">groups</span>).<span class="ruby-identifier">empty?</span> }
427: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1649,10 +1693,10 @@ generated
<div class="method-source-code"
id="satisfies-locked-spec--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 389</span>
389: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">satisfies_locked_spec?</span>(<span class="ruby-identifier">dep</span>)
390: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">satisfies?</span>(<span class="ruby-identifier">dep</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>) }
391: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 397</span>
397: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">satisfies_locked_spec?</span>(<span class="ruby-identifier">dep</span>)
398: <span class="ruby-ivar">@locked_specs</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">satisfies?</span>(<span class="ruby-identifier">dep</span>) <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>) }
399: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1683,13 +1727,13 @@ generated
<div class="method-source-code"
id="sorted-sources-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 408</span>
408: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sorted_sources</span>
409: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">sort_by</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
410: <span class="ruby-comment cmt"># Place GEM at the top</span>
411: [ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span>) <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span> ]
412: <span class="ruby-keyword kw">end</span>
413: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/definition.rb, line 416</span>
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sorted_sources</span>
417: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">sort_by</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
418: <span class="ruby-comment cmt"># Place GEM at the top</span>
419: [ <span class="ruby-identifier">s</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span>) <span class="ruby-operator">?</span> <span class="ruby-value">1</span> <span class="ruby-operator">:</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_s</span> ]
420: <span class="ruby-keyword kw">end</span>
421: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -157,6 +157,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -285,6 +287,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -385,10 +389,10 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 139</span>
139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">platform</span>)
140: <span class="ruby-ivar">@dep</span>, <span class="ruby-ivar">@__platform</span>, <span class="ruby-ivar">@required_by</span> = <span class="ruby-identifier">dep</span>, <span class="ruby-identifier">platform</span>, []
141: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 153</span>
153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">platform</span>)
154: <span class="ruby-ivar">@dep</span>, <span class="ruby-ivar">@__platform</span>, <span class="ruby-ivar">@required_by</span> = <span class="ruby-identifier">dep</span>, <span class="ruby-identifier">platform</span>, []
155: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -425,10 +429,10 @@
<div class="method-source-code"
id="--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 147</span>
147: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">o</span>)
148: <span class="ruby-identifier">dep</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">dep</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">__platform</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">__platform</span>
149: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 161</span>
161: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">o</span>)
162: <span class="ruby-identifier">dep</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">dep</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">__platform</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">__platform</span>
163: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -492,10 +496,10 @@
<div class="method-source-code"
id="hash-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 143</span>
143: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
144: <span class="ruby-ivar">@hash</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">hash</span>
145: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 157</span>
157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
158: <span class="ruby-ivar">@hash</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">hash</span>
159: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -526,10 +530,10 @@
<div class="method-source-code"
id="to-s-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 157</span>
157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
158: <span class="ruby-ivar">@dep</span>.<span class="ruby-identifier">to_s</span>
159: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 171</span>
171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
172: <span class="ruby-ivar">@dep</span>.<span class="ruby-identifier">to_s</span>
173: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -560,10 +564,10 @@
<div class="method-source-code"
id="type-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 153</span>
153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type</span>
154: <span class="ruby-ivar">@dep</span>.<span class="ruby-identifier">type</span>
155: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 167</span>
167: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">type</span>
168: <span class="ruby-ivar">@dep</span>.<span class="ruby-identifier">type</span>
169: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -600,10 +604,10 @@
<div class="method-source-code"
id="method-missing-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 163</span>
163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(*<span class="ruby-identifier">args</span>)
164: <span class="ruby-ivar">@dep</span>.<span class="ruby-identifier">send</span>(*<span class="ruby-identifier">args</span>)
165: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 177</span>
177: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">method_missing</span>(*<span class="ruby-identifier">args</span>)
178: <span class="ruby-ivar">@dep</span>.<span class="ruby-identifier">send</span>(*<span class="ruby-identifier">args</span>)
179: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -79,6 +79,12 @@
<li><a href="#method-i-jruby%3F">#jruby?</a></li>
<li><a href="#method-i-mingw%3F">#mingw?</a></li>
<li><a href="#method-i-mingw_18%3F">#mingw_18?</a></li>
<li><a href="#method-i-mingw_19%3F">#mingw_19?</a></li>
<li><a href="#method-i-mri%3F">#mri?</a></li>
<li><a href="#method-i-mri_18%3F">#mri_18?</a></li>
@ -171,6 +177,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -299,6 +307,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -411,20 +421,20 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 22</span>
22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span> = {}, &amp;<span class="ruby-identifier">blk</span>)
23: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>)
24:
25: <span class="ruby-ivar">@autorequire</span> = <span class="ruby-keyword kw">nil</span>
26: <span class="ruby-ivar">@groups</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;group&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:default</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
27: <span class="ruby-ivar">@source</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;source&quot;</span>]
28: <span class="ruby-ivar">@platforms</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;platforms&quot;</span>])
29: <span class="ruby-ivar">@env</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;env&quot;</span>]
30:
31: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value str">'require'</span>)
32: <span class="ruby-ivar">@autorequire</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">'require'</span>] <span class="ruby-operator">||</span> [])
33: <span class="ruby-keyword kw">end</span>
34: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 25</span>
25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span> = {}, &amp;<span class="ruby-identifier">blk</span>)
26: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>)
27:
28: <span class="ruby-ivar">@autorequire</span> = <span class="ruby-keyword kw">nil</span>
29: <span class="ruby-ivar">@groups</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;group&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value">:default</span>).<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">g</span><span class="ruby-operator">|</span> <span class="ruby-identifier">g</span>.<span class="ruby-identifier">to_sym</span> }
30: <span class="ruby-ivar">@source</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;source&quot;</span>]
31: <span class="ruby-ivar">@platforms</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;platforms&quot;</span>])
32: <span class="ruby-ivar">@env</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;env&quot;</span>]
33:
34: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-value str">'require'</span>)
35: <span class="ruby-ivar">@autorequire</span> = <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">'require'</span>] <span class="ruby-operator">||</span> [])
36: <span class="ruby-keyword kw">end</span>
37: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -461,17 +471,17 @@
<div class="method-source-code"
id="current-env--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 52</span>
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_env?</span>
53: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@env</span>
54: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@env</span>
55: <span class="ruby-ivar">@env</span>.<span class="ruby-identifier">all?</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
56: <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-constant">String</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">?</span> <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">:</span> <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">=~</span> <span class="ruby-identifier">val</span>)
57: <span class="ruby-keyword kw">end</span>
58: <span class="ruby-keyword kw">else</span>
59: <span class="ruby-constant">ENV</span>[<span class="ruby-ivar">@env</span>.<span class="ruby-identifier">to_s</span>]
60: <span class="ruby-keyword kw">end</span>
61: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 55</span>
55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_env?</span>
56: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@env</span>
57: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-ivar">@env</span>
58: <span class="ruby-ivar">@env</span>.<span class="ruby-identifier">all?</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">key</span>, <span class="ruby-identifier">val</span><span class="ruby-operator">|</span>
59: <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-constant">String</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">?</span> <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">val</span> <span class="ruby-operator">:</span> <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>.<span class="ruby-identifier">to_s</span>] <span class="ruby-operator">=~</span> <span class="ruby-identifier">val</span>)
60: <span class="ruby-keyword kw">end</span>
61: <span class="ruby-keyword kw">else</span>
62: <span class="ruby-constant">ENV</span>[<span class="ruby-ivar">@env</span>.<span class="ruby-identifier">to_s</span>]
63: <span class="ruby-keyword kw">end</span>
64: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -502,11 +512,11 @@
<div class="method-source-code"
id="current-platform--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 63</span>
63: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_platform?</span>
64: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">empty?</span>
65: <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{p}?&quot;</span>) }
66: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 66</span>
66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current_platform?</span>
67: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">empty?</span>
68: <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">send</span>(<span class="ruby-node">&quot;#{p}?&quot;</span>) }
69: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -537,18 +547,18 @@
<div class="method-source-code"
id="gem-platforms-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 36</span>
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem_platforms</span>(<span class="ruby-identifier">valid_platforms</span>)
37: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">valid_platforms</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">empty?</span>
38:
39: <span class="ruby-identifier">platforms</span> = []
40: <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
41: <span class="ruby-identifier">platform</span> = <span class="ruby-constant">PLATFORM_MAP</span>[<span class="ruby-identifier">p</span>]
42: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">valid_platforms</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">platform</span>)
43: <span class="ruby-identifier">platforms</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">platform</span>]
44: <span class="ruby-keyword kw">end</span>
45: <span class="ruby-identifier">platforms</span>
46: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 39</span>
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem_platforms</span>(<span class="ruby-identifier">valid_platforms</span>)
40: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">valid_platforms</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">empty?</span>
41:
42: <span class="ruby-identifier">platforms</span> = []
43: <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
44: <span class="ruby-identifier">platform</span> = <span class="ruby-constant">PLATFORM_MAP</span>[<span class="ruby-identifier">p</span>]
45: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">valid_platforms</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">platform</span>)
46: <span class="ruby-identifier">platforms</span> <span class="ruby-operator">|=</span> [<span class="ruby-identifier">platform</span>]
47: <span class="ruby-keyword kw">end</span>
48: <span class="ruby-identifier">platforms</span>
49: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -579,10 +589,10 @@
<div class="method-source-code"
id="should-include--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 48</span>
48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">should_include?</span>
49: <span class="ruby-identifier">current_env?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">current_platform?</span>
50: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 51</span>
51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">should_include?</span>
52: <span class="ruby-identifier">current_env?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">current_platform?</span>
53: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -613,18 +623,18 @@
<div class="method-source-code"
id="to-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 68</span>
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
69: <span class="ruby-identifier">out</span> = <span class="ruby-node">&quot; #{name}&quot;</span>
70:
71: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">requirement</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Requirement</span>.<span class="ruby-identifier">default</span>
72: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; (#{requirement.to_s})&quot;</span>
73: <span class="ruby-keyword kw">end</span>
74:
75: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'!'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>
76:
77: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
78: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 71</span>
71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
72: <span class="ruby-identifier">out</span> = <span class="ruby-node">&quot; #{name}&quot;</span>
73:
74: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">requirement</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Requirement</span>.<span class="ruby-identifier">default</span>
75: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; (#{requirement.to_s})&quot;</span>
76: <span class="ruby-keyword kw">end</span>
77:
78: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'!'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">source</span>
79:
80: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
81: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -661,10 +671,112 @@
<div class="method-source-code"
id="jruby--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 106</span>
106: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">jruby?</span>
107: <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;jruby&quot;</span>
108: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 109</span>
109: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">jruby?</span>
110: <span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;jruby&quot;</span>
111: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="mingw--method" class="method-detail ">
<a name="method-i-mingw%3F"></a>
<div class="method-heading">
<span class="method-name">mingw?</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="mingw--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 117</span>
117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mingw?</span>
118: <span class="ruby-constant">Bundler</span><span class="ruby-operator">::</span><span class="ruby-constant">WINDOWS</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">local</span>.<span class="ruby-identifier">os</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;mingw32&quot;</span>
119: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="mingw--method" class="method-detail ">
<a name="method-i-mingw_18%3F"></a>
<div class="method-heading">
<span class="method-name">mingw_18?</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="mingw--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 121</span>
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mingw_18?</span>
122: <span class="ruby-identifier">mingw?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value str">&quot;1.9&quot;</span>
123: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="mingw--method" class="method-detail ">
<a name="method-i-mingw_19%3F"></a>
<div class="method-heading">
<span class="method-name">mingw_19?</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="mingw--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 125</span>
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mingw_19?</span>
126: <span class="ruby-identifier">mingw?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9&quot;</span>
127: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -695,10 +807,10 @@
<div class="method-source-code"
id="mri--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 94</span>
94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mri?</span>
95: <span class="ruby-operator">!</span><span class="ruby-identifier">mswin?</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;ruby&quot;</span>)
96: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 97</span>
97: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mri?</span>
98: <span class="ruby-operator">!</span><span class="ruby-identifier">mswin?</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;ruby&quot;</span>)
99: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -729,10 +841,10 @@
<div class="method-source-code"
id="mri--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mri_18?</span>
99: <span class="ruby-identifier">mri?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value str">&quot;1.9&quot;</span>
100: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 101</span>
101: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mri_18?</span>
102: <span class="ruby-identifier">mri?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value str">&quot;1.9&quot;</span>
103: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -763,10 +875,10 @@
<div class="method-source-code"
id="mri--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 102</span>
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mri_19?</span>
103: <span class="ruby-identifier">mri?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9&quot;</span>
104: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 105</span>
105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mri_19?</span>
106: <span class="ruby-identifier">mri?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9&quot;</span>
107: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -797,10 +909,10 @@
<div class="method-source-code"
id="mswin--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 110</span>
110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mswin?</span>
111: <span class="ruby-comment cmt"># w0t?</span>
112: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 113</span>
113: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">mswin?</span>
114: <span class="ruby-constant">Bundler</span><span class="ruby-operator">::</span><span class="ruby-constant">WINDOWS</span>
115: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -831,10 +943,10 @@
<div class="method-source-code"
id="ruby--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 82</span>
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby?</span>
83: <span class="ruby-operator">!</span><span class="ruby-identifier">mswin?</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;ruby&quot;</span> <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;rbx&quot;</span>)
84: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 85</span>
85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby?</span>
86: <span class="ruby-operator">!</span><span class="ruby-identifier">mswin?</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-operator">!</span><span class="ruby-keyword kw">defined?</span>(<span class="ruby-constant">RUBY_ENGINE</span>) <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;ruby&quot;</span> <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_ENGINE</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;rbx&quot;</span>)
87: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -865,10 +977,10 @@
<div class="method-source-code"
id="ruby--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 86</span>
86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby_18?</span>
87: <span class="ruby-identifier">ruby?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value str">&quot;1.9&quot;</span>
88: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 89</span>
89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby_18?</span>
90: <span class="ruby-identifier">ruby?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&lt;</span> <span class="ruby-value str">&quot;1.9&quot;</span>
91: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -899,10 +1011,10 @@
<div class="method-source-code"
id="ruby--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 90</span>
90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby_19?</span>
91: <span class="ruby-identifier">ruby?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9&quot;</span>
92: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dependency.rb, line 93</span>
93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">ruby_19?</span>
94: <span class="ruby-identifier">ruby?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">&gt;=</span> <span class="ruby-value str">&quot;1.9&quot;</span>
95: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -0,0 +1,390 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Class: Bundler::Deployment</title>
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
<script src="../js/jquery.js" type="text/javascript"
charset="utf-8"></script>
<script src="../js/thickbox-compressed.js" type="text/javascript"
charset="utf-8"></script>
<script src="../js/quicksearch.js" type="text/javascript"
charset="utf-8"></script>
<script src="../js/darkfish.js" type="text/javascript"
charset="utf-8"></script>
</head>
<body class="class">
<div id="metadata">
<div id="home-metadata">
<div id="home-section" class="section">
<h3 class="section-header">
<a href="../index.html">Home</a>
<a href="../index.html#classes">Classes</a>
<a href="../index.html#methods">Methods</a>
</h3>
</div>
</div>
<div id="file-metadata">
<div id="file-list-section" class="section">
<h3 class="section-header">In Files</h3>
<div class="section-body">
<ul>
<li><a href="../lib/bundler/deployment_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/bundler/deployment.rb">lib/bundler/deployment.rb</a></li>
</ul>
</div>
</div>
</div>
<div id="class-metadata">
<!-- Parent Class -->
<div id="parent-class-section" class="section">
<h3 class="section-header">Parent</h3>
<p class="link">Object</p>
</div>
<!-- Namespace Contents -->
<!-- Method Quickref -->
<div id="method-list-section" class="section">
<h3 class="section-header">Methods</h3>
<ul class="link-list">
<li><a href="#method-c-define_task">::define_task</a></li>
</ul>
</div>
<!-- Included Modules -->
</div>
<div id="project-metadata">
<div id="fileindex-section" class="section project-section">
<h3 class="section-header">Files</h3>
<ul>
<li class="file"><a href="../lib/bundler/man/bundle.html">bundle</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-config.html">bundle-config</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-config_txt.html">bundle-config.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-exec.html">bundle-exec</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-exec_txt.html">bundle-exec.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-install.html">bundle-install</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-install_txt.html">bundle-install.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-package.html">bundle-package</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-package_txt.html">bundle-package.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-update.html">bundle-update</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-update_txt.html">bundle-update.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle_txt.html">bundle.txt</a></li>
<li class="file"><a href="../lib/bundler/man/gemfile_5_txt.html">gemfile.5.txt</a></li>
<li class="file"><a href="../lib/bundler/templates/Gemfile.html">Gemfile</a></li>
</ul>
</div>
<div id="classindex-section" class="section project-section">
<h3 class="section-header">Class Index
<span class="search-toggle"><img src="../images/find.png"
height="16" width="16" alt="[+]"
title="show/hide quicksearch" /></span></h3>
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
<fieldset>
<legend>Quicksearch</legend>
<input type="text" name="quicksearch" value=""
class="quicksearch-field" />
</fieldset>
</form>
<ul class="link-list">
<li><a href="../Bundler.html">Bundler</a></li>
<li><a href="../Bundler/BundlerError.html">Bundler::BundlerError</a></li>
<li><a href="../Bundler/CLI.html">Bundler::CLI</a></li>
<li><a href="../Bundler/Definition.html">Bundler::Definition</a></li>
<li><a href="../Bundler/DepProxy.html">Bundler::DepProxy</a></li>
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
<li><a href="../Bundler/DslError.html">Bundler::DslError</a></li>
<li><a href="../Bundler/Environment.html">Bundler::Environment</a></li>
<li><a href="../Bundler/GemHelper.html">Bundler::GemHelper</a></li>
<li><a href="../Bundler/GemHelpers.html">Bundler::GemHelpers</a></li>
<li><a href="../Bundler/GemNotFound.html">Bundler::GemNotFound</a></li>
<li><a href="../Bundler/GemfileError.html">Bundler::GemfileError</a></li>
<li><a href="../Bundler/GemfileNotFound.html">Bundler::GemfileNotFound</a></li>
<li><a href="../Bundler/GemspecError.html">Bundler::GemspecError</a></li>
<li><a href="../Bundler/GitError.html">Bundler::GitError</a></li>
<li><a href="../Bundler/Graph.html">Bundler::Graph</a></li>
<li><a href="../Bundler/GraphNode.html">Bundler::GraphNode</a></li>
<li><a href="../Bundler/Index.html">Bundler::Index</a></li>
<li><a href="../Bundler/Installer.html">Bundler::Installer</a></li>
<li><a href="../Bundler/InvalidOption.html">Bundler::InvalidOption</a></li>
<li><a href="../Bundler/InvalidSpecSet.html">Bundler::InvalidSpecSet</a></li>
<li><a href="../Bundler/LazySpecification.html">Bundler::LazySpecification</a></li>
<li><a href="../Bundler/LockfileParser.html">Bundler::LockfileParser</a></li>
<li><a href="../Bundler/MatchPlatform.html">Bundler::MatchPlatform</a></li>
<li><a href="../Bundler/PathError.html">Bundler::PathError</a></li>
<li><a href="../Bundler/ProductionError.html">Bundler::ProductionError</a></li>
<li><a href="../Bundler/RemoteSpecification.html">Bundler::RemoteSpecification</a></li>
<li><a href="../Bundler/Resolver.html">Bundler::Resolver</a></li>
<li><a href="../Bundler/Resolver/SpecGroup.html">Bundler::Resolver::SpecGroup</a></li>
<li><a href="../Bundler/Runtime.html">Bundler::Runtime</a></li>
<li><a href="../Bundler/Settings.html">Bundler::Settings</a></li>
<li><a href="../Bundler/SharedHelpers.html">Bundler::SharedHelpers</a></li>
<li><a href="../Bundler/SharedHelpers/Gem.html">Bundler::SharedHelpers::Gem</a></li>
<li><a href="../Bundler/SharedHelpers/Gem/SourceIndex.html">Bundler::SharedHelpers::Gem::SourceIndex</a></li>
<li><a href="../Bundler/Source.html">Bundler::Source</a></li>
<li><a href="../Bundler/Source/Git.html">Bundler::Source::Git</a></li>
<li><a href="../Bundler/Source/Path.html">Bundler::Source::Path</a></li>
<li><a href="../Bundler/Source/Path/Installer.html">Bundler::Source::Path::Installer</a></li>
<li><a href="../Bundler/Source/Rubygems.html">Bundler::Source::Rubygems</a></li>
<li><a href="../Bundler/SpecSet.html">Bundler::SpecSet</a></li>
<li><a href="../Bundler/UI.html">Bundler::UI</a></li>
<li><a href="../Bundler/UI/RGProxy.html">Bundler::UI::RGProxy</a></li>
<li><a href="../Bundler/UI/Shell.html">Bundler::UI::Shell</a></li>
<li><a href="../Bundler/VersionConflict.html">Bundler::VersionConflict</a></li>
<li><a href="../Thor.html">Thor</a></li>
<li><a href="../Thor/Actions.html">Thor::Actions</a></li>
<li><a href="../Thor/Actions/ClassMethods.html">Thor::Actions::ClassMethods</a></li>
<li><a href="../Thor/Base.html">Thor::Base</a></li>
<li><a href="../Thor/Base/ClassMethods.html">Thor::Base::ClassMethods</a></li>
<li><a href="../Thor/DynamicTask.html">Thor::DynamicTask</a></li>
<li><a href="../Thor/Error.html">Thor::Error</a></li>
<li><a href="../Thor/HiddenTask.html">Thor::HiddenTask</a></li>
<li><a href="../Thor/Invocation.html">Thor::Invocation</a></li>
<li><a href="../Thor/Invocation/ClassMethods.html">Thor::Invocation::ClassMethods</a></li>
<li><a href="../Thor/InvocationError.html">Thor::InvocationError</a></li>
<li><a href="../Thor/MalformattedArgumentError.html">Thor::MalformattedArgumentError</a></li>
<li><a href="../Thor/RequiredArgumentMissingError.html">Thor::RequiredArgumentMissingError</a></li>
<li><a href="../Thor/Shell.html">Thor::Shell</a></li>
<li><a href="../Thor/Shell/Basic.html">Thor::Shell::Basic</a></li>
<li><a href="../Thor/Shell/Color.html">Thor::Shell::Color</a></li>
<li><a href="../Thor/Shell/HTML.html">Thor::Shell::HTML</a></li>
<li><a href="../Thor/Task.html">Thor::Task</a></li>
<li><a href="../Thor/UndefinedTaskError.html">Thor::UndefinedTaskError</a></li>
<li><a href="../Thor/UnknownArgumentError.html">Thor::UnknownArgumentError</a></li>
<li><a href="../Thor/Util.html">Thor::Util</a></li>
<li><a href="../Gem.html">Gem</a></li>
<li><a href="../Gem/Dependency.html">Gem::Dependency</a></li>
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
</div>
</div>
<div id="documentation">
<h1 class="class">Bundler::Deployment</h1>
<div id="description">
</div>
<!-- Constants -->
<!-- Attributes -->
<!-- Methods -->
<div id="public-class-method-details" class="method-section section">
<h3 class="section-header">Public Class Methods</h3>
<div id="define-task-method" class="method-detail ">
<a name="method-c-define_task"></a>
<div class="method-heading">
<span class="method-name">define_task</span><span
class="method-args">(context, task_method = :task, opts = {})</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="define-task-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/deployment.rb, line 3</span>
3: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">define_task</span>(<span class="ruby-identifier">context</span>, <span class="ruby-identifier">task_method</span> = <span class="ruby-value">:task</span>, <span class="ruby-identifier">opts</span> = {})
4: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">context</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Capistrano</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>)
5: <span class="ruby-identifier">context_name</span> = <span class="ruby-value str">&quot;capistrano&quot;</span>
6: <span class="ruby-identifier">role_default</span> = <span class="ruby-value str">&quot;{:except =&gt; {:no_release =&gt; true}}&quot;</span>
7: <span class="ruby-keyword kw">else</span>
8: <span class="ruby-identifier">context_name</span> = <span class="ruby-value str">&quot;vlad&quot;</span>
9: <span class="ruby-identifier">role_default</span> = <span class="ruby-value str">&quot;[:app]&quot;</span>
10: <span class="ruby-keyword kw">end</span>
11:
12: <span class="ruby-identifier">roles</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:bundle_roles</span>, <span class="ruby-keyword kw">nil</span>)
13: <span class="ruby-identifier">opts</span>[<span class="ruby-value">:roles</span>] = <span class="ruby-identifier">roles</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">roles</span>
14:
15: <span class="ruby-identifier">context</span>.<span class="ruby-identifier">send</span> <span class="ruby-value">:namespace</span>, <span class="ruby-value">:bundle</span> <span class="ruby-keyword kw">do</span>
16: <span class="ruby-identifier">send</span> <span class="ruby-value">:desc</span>, <span class="ruby-value str"> Install the current Bundler environment. By default, gems will be \ installed to the shared/bundle path. Gems in the development and \ test group will not be installed. The install command is executed \ with the --deployment and --quiet flags. If the bundle cmd cannot \ be found then you can override the bundle_cmd variable to specifiy \ which one it should use. You can override any of these defaults by setting the variables shown below. N.B. bundle_roles must be defined before you require 'bundler/#{context_name}' \ in your deploy.rb file. set :bundle_gemfile, &quot;Gemfile&quot; set :bundle_dir, File.join(fetch(:shared_path), 'bundle') set :bundle_flags, &quot;--deployment --quiet&quot; set :bundle_without, [:development, :test] set :bundle_cmd, &quot;bundle&quot; # e.g. &quot;/opt/ruby/bin/bundle&quot; set :bundle_roles, #{role_default} # e.g. [:app, :batch]</span>
17: <span class="ruby-identifier">send</span> <span class="ruby-identifier">task_method</span>, <span class="ruby-value">:install</span>, <span class="ruby-identifier">opts</span> <span class="ruby-keyword kw">do</span>
18: <span class="ruby-identifier">bundle_cmd</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:bundle_cmd</span>, <span class="ruby-value str">&quot;bundle&quot;</span>)
19: <span class="ruby-identifier">bundle_flags</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:bundle_flags</span>, <span class="ruby-value str">&quot;--deployment --quiet&quot;</span>)
20: <span class="ruby-identifier">bundle_dir</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:bundle_dir</span>, <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:shared_path</span>), <span class="ruby-value str">'bundle'</span>))
21: <span class="ruby-identifier">bundle_gemfile</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:bundle_gemfile</span>, <span class="ruby-value str">&quot;Gemfile&quot;</span>)
22: <span class="ruby-identifier">bundle_without</span> = [*<span class="ruby-identifier">context</span>.<span class="ruby-identifier">fetch</span>(<span class="ruby-value">:bundle_without</span>, [<span class="ruby-value">:development</span>, <span class="ruby-value">:test</span>])].<span class="ruby-identifier">compact</span>
23:
24: <span class="ruby-identifier">args</span> = [<span class="ruby-node">&quot;--gemfile #{File.join(context.fetch(:current_release), bundle_gemfile)}&quot;</span>]
25: <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--path #{bundle_dir}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">bundle_dir</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">empty?</span>
26: <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">bundle_flags</span>.<span class="ruby-identifier">to_s</span>
27: <span class="ruby-identifier">args</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;--without #{bundle_without.join(&quot; &quot;)}&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">bundle_without</span>.<span class="ruby-identifier">empty?</span>
28:
29: <span class="ruby-identifier">run</span> <span class="ruby-node">&quot;#{bundle_cmd} install #{args.join(' ')}&quot;</span>
30: <span class="ruby-keyword kw">end</span>
31: <span class="ruby-keyword kw">end</span>
32: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
</div>
</div>
<div id="rdoc-debugging-section-dump" class="debugging-section">
<p>Disabled; run with --debug to generate this.</p>
</div>
<div id="validator-badges">
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
Rdoc Generator</a> 1.1.6</small>.</p>
</div>
</body>
</html>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -93,6 +93,8 @@
<li><a href="#method-i-path">#path</a></li>
<li><a href="#method-i-platform">#platform</a></li>
<li><a href="#method-i-platforms">#platforms</a></li>
<li><a href="#method-i-rubygems_source">#rubygems_source</a></li>
@ -175,6 +177,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -303,6 +307,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -366,19 +372,19 @@ Deprecated methods
<div class="method-source-code"
id="deprecate-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 148</span>
148: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">deprecate</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">replacement</span> = <span class="ruby-keyword kw">nil</span>)
149: <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span>*<span class="ruby-operator">|</span>
150: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;'#{name}' has been removed from the Gemfile DSL, &quot;</span>
151: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">replacement</span>
152: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;and has been replaced with '#{replacement}'.&quot;</span>
153: <span class="ruby-keyword kw">else</span>
154: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;and is no longer supported.&quot;</span>
155: <span class="ruby-keyword kw">end</span>
156: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\nSee the README for more information on upgrading from Bundler 0.8.&quot;</span>
157: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-identifier">message</span>
158: <span class="ruby-keyword kw">end</span>
159: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 147</span>
147: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">deprecate</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">replacement</span> = <span class="ruby-keyword kw">nil</span>)
148: <span class="ruby-identifier">define_method</span>(<span class="ruby-identifier">name</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span>*<span class="ruby-operator">|</span>
149: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;'#{name}' has been removed from the Gemfile DSL, &quot;</span>
150: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">replacement</span>
151: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;and has been replaced with '#{replacement}'.&quot;</span>
152: <span class="ruby-keyword kw">else</span>
153: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;and is no longer supported.&quot;</span>
154: <span class="ruby-keyword kw">end</span>
155: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\nSee the README for more information on upgrading from Bundler 0.8.&quot;</span>
156: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-identifier">message</span>
157: <span class="ruby-keyword kw">end</span>
158: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -395,7 +401,7 @@ Deprecated methods
<div class="method-heading">
<span class="method-name">evaluate</span><span
class="method-args">(gemfile)</span>
class="method-args">(gemfile, lockfile, unlock)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
@ -410,10 +416,10 @@ Deprecated methods
id="evaluate-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 5</span>
5: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">evaluate</span>(<span class="ruby-identifier">gemfile</span>)
5: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">evaluate</span>(<span class="ruby-identifier">gemfile</span>, <span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
6: <span class="ruby-identifier">builder</span> = <span class="ruby-identifier">new</span>
7: <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">instance_eval</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">read_file</span>(<span class="ruby-identifier">gemfile</span>.<span class="ruby-identifier">to_s</span>), <span class="ruby-identifier">gemfile</span>.<span class="ruby-identifier">to_s</span>, <span class="ruby-value">1</span>)
8: <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">to_definition</span>
8: <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">to_definition</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
9: <span class="ruby-keyword kw">end</span></pre>
</div>
@ -491,13 +497,13 @@ Deprecated methods
<div class="method-source-code"
id="env-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 139</span>
139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env</span>(<span class="ruby-identifier">name</span>)
140: <span class="ruby-ivar">@env</span>, <span class="ruby-identifier">old</span> = <span class="ruby-identifier">name</span>, <span class="ruby-ivar">@env</span>
141: <span class="ruby-keyword kw">yield</span>
142: <span class="ruby-keyword kw">ensure</span>
143: <span class="ruby-ivar">@env</span> = <span class="ruby-identifier">old</span>
144: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 138</span>
138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env</span>(<span class="ruby-identifier">name</span>)
139: <span class="ruby-ivar">@env</span>, <span class="ruby-identifier">old</span> = <span class="ruby-identifier">name</span>, <span class="ruby-ivar">@env</span>
140: <span class="ruby-keyword kw">yield</span>
141: <span class="ruby-keyword kw">ensure</span>
142: <span class="ruby-ivar">@env</span> = <span class="ruby-identifier">old</span>
143: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -528,34 +534,31 @@ Deprecated methods
<div class="method-source-code"
id="gem-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 49</span>
49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem</span>(<span class="ruby-identifier">name</span>, *<span class="ruby-identifier">args</span>)
50: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>)
51: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemfileError</span>, <span class="ruby-node">%{You need to specify gem names as Strings. Use 'gem &quot;#{name.to_s}&quot;' instead.}</span>
52: <span class="ruby-keyword kw">end</span>
53:
54: <span class="ruby-identifier">options</span> = <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span> <span class="ruby-operator">:</span> {}
55: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">args</span> <span class="ruby-operator">||</span> [<span class="ruby-value str">&quot;&gt;= 0&quot;</span>]
56: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">group</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:groups</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value">:group</span>]
57: <span class="ruby-identifier">options</span>[<span class="ruby-value">:group</span>] = <span class="ruby-identifier">group</span>
58: <span class="ruby-keyword kw">end</span>
59:
60: <span class="ruby-identifier">_deprecated_options</span>(<span class="ruby-identifier">options</span>)
61: <span class="ruby-identifier">_normalize_options</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span>)
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 50</span>
50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem</span>(<span class="ruby-identifier">name</span>, *<span class="ruby-identifier">args</span>)
51: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Symbol</span>)
52: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemfileError</span>, <span class="ruby-node">%{You need to specify gem names as Strings. Use 'gem &quot;#{name.to_s}&quot;' instead.}</span>
53: <span class="ruby-keyword kw">end</span>
54:
55: <span class="ruby-identifier">options</span> = <span class="ruby-constant">Hash</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">pop</span> <span class="ruby-operator">:</span> {}
56: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">args</span> <span class="ruby-operator">||</span> [<span class="ruby-value str">&quot;&gt;= 0&quot;</span>]
57:
58: <span class="ruby-identifier">_deprecated_options</span>(<span class="ruby-identifier">options</span>)
59: <span class="ruby-identifier">_normalize_options</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span>)
60:
61: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span>)
62:
63: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span>)
64:
65: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span> }
66: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">requirement</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>
67: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DslError</span>, <span class="ruby-value str">&quot;You cannot specify the same gem twice with different version requirements. &quot;</span> <span class="ruby-node">&quot;You specified: #{current.name} (#{current.requirement}) and &quot;</span> <span class="ruby-node">&quot;#{dep.name} (#{dep.requirement})&quot;</span>
68: <span class="ruby-keyword kw">end</span>
69:
70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
71: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DslError</span>, <span class="ruby-value str">&quot;You cannot specify the same gem twice coming from different sources. You &quot;</span> <span class="ruby-node">&quot;specified that #{dep.name} (#{dep.requirement}) should come from &quot;</span> <span class="ruby-node">&quot;#{current.source || 'an unspecfied source'} and #{dep.source}&quot;</span>
72: <span class="ruby-keyword kw">end</span>
73: <span class="ruby-keyword kw">end</span>
74: <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span>)
75: <span class="ruby-keyword kw">end</span></pre>
63: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span> = <span class="ruby-ivar">@dependencies</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span> }
64: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">requirement</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>
65: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DslError</span>, <span class="ruby-value str">&quot;You cannot specify the same gem twice with different version requirements. &quot;</span> <span class="ruby-node">&quot;You specified: #{current.name} (#{current.requirement}) and &quot;</span> <span class="ruby-node">&quot;#{dep.name} (#{dep.requirement})&quot;</span>
66: <span class="ruby-keyword kw">end</span>
67:
68: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">source</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">source</span>
69: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DslError</span>, <span class="ruby-value str">&quot;You cannot specify the same gem twice coming from different sources. You &quot;</span> <span class="ruby-node">&quot;specified that #{dep.name} (#{dep.requirement}) should come from &quot;</span> <span class="ruby-node">&quot;#{current.source || 'an unspecfied source'} and #{dep.source}&quot;</span>
70: <span class="ruby-keyword kw">end</span>
71: <span class="ruby-keyword kw">end</span>
72: <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">options</span>)
73: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -597,21 +600,22 @@ Deprecated methods
30: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">gemspecs</span>.<span class="ruby-identifier">size</span>
31: <span class="ruby-keyword kw">when</span> <span class="ruby-value">1</span>
32: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">load</span>(<span class="ruby-identifier">gemspecs</span>.<span class="ruby-identifier">first</span>)
33: <span class="ruby-identifier">gem</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>, <span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>
34: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">runtime_dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
35: <span class="ruby-identifier">gem</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">to_s</span>
36: <span class="ruby-keyword kw">end</span>
37: <span class="ruby-identifier">group</span>(<span class="ruby-identifier">development_group</span>) <span class="ruby-keyword kw">do</span>
38: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">development_dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
39: <span class="ruby-identifier">gem</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">to_s</span>
40: <span class="ruby-keyword kw">end</span>
41: <span class="ruby-keyword kw">end</span>
42: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
43: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-node">&quot;There are no gemspecs at #{path}.&quot;</span>
44: <span class="ruby-keyword kw">else</span>
45: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-node">&quot;There are multiple gemspecs at #{path}. Please use the :name option to specify which one.&quot;</span>
46: <span class="ruby-keyword kw">end</span>
47: <span class="ruby-keyword kw">end</span></pre>
33: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-node">&quot;There was an error loading the gemspec at #{gemspecs.first}.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">spec</span>
34: <span class="ruby-identifier">gem</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>, <span class="ruby-value">:path</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">path</span>
35: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">runtime_dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
36: <span class="ruby-identifier">gem</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>, *<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">as_list</span>
37: <span class="ruby-keyword kw">end</span>
38: <span class="ruby-identifier">group</span>(<span class="ruby-identifier">development_group</span>) <span class="ruby-keyword kw">do</span>
39: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">development_dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
40: <span class="ruby-identifier">gem</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>, *<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">as_list</span>
41: <span class="ruby-keyword kw">end</span>
42: <span class="ruby-keyword kw">end</span>
43: <span class="ruby-keyword kw">when</span> <span class="ruby-value">0</span>
44: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-node">&quot;There are no gemspecs at #{path}.&quot;</span>
45: <span class="ruby-keyword kw">else</span>
46: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-node">&quot;There are multiple gemspecs at #{path}. Please use the :name option to specify which one.&quot;</span>
47: <span class="ruby-keyword kw">end</span>
48: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -642,15 +646,15 @@ Deprecated methods
<div class="method-source-code"
id="git-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 104</span>
104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">git</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">options</span> = {}, <span class="ruby-identifier">source_options</span> = {}, &amp;<span class="ruby-identifier">blk</span>)
105: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block_given?</span>
106: <span class="ruby-identifier">msg</span> = <span class="ruby-value str">&quot;You can no longer specify a git source by itself. Instead, \n&quot;</span> <span class="ruby-value str">&quot;either use the :git option on a gem, or specify the gems that \n&quot;</span> <span class="ruby-value str">&quot;bundler should find in the git source by passing a block to \n&quot;</span> <span class="ruby-value str">&quot;the git method, like: \n\n&quot;</span> <span class="ruby-value str">&quot; git 'git://github.com/rails/rails.git' do\n&quot;</span> <span class="ruby-value str">&quot; gem 'rails'\n&quot;</span> <span class="ruby-value str">&quot; end&quot;</span>
107: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-identifier">msg</span>
108: <span class="ruby-keyword kw">end</span>
109:
110: <span class="ruby-identifier">source</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Git</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;uri&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">uri</span>)), <span class="ruby-identifier">source_options</span>, &amp;<span class="ruby-identifier">blk</span>
111: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 102</span>
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">git</span>(<span class="ruby-identifier">uri</span>, <span class="ruby-identifier">options</span> = {}, <span class="ruby-identifier">source_options</span> = {}, &amp;<span class="ruby-identifier">blk</span>)
103: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block_given?</span>
104: <span class="ruby-identifier">msg</span> = <span class="ruby-value str">&quot;You can no longer specify a git source by itself. Instead, \n&quot;</span> <span class="ruby-value str">&quot;either use the :git option on a gem, or specify the gems that \n&quot;</span> <span class="ruby-value str">&quot;bundler should find in the git source by passing a block to \n&quot;</span> <span class="ruby-value str">&quot;the git method, like: \n\n&quot;</span> <span class="ruby-value str">&quot; git 'git://github.com/rails/rails.git' do\n&quot;</span> <span class="ruby-value str">&quot; gem 'rails'\n&quot;</span> <span class="ruby-value str">&quot; end&quot;</span>
105: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-identifier">msg</span>
106: <span class="ruby-keyword kw">end</span>
107:
108: <span class="ruby-identifier">source</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Git</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;uri&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">uri</span>)), <span class="ruby-identifier">source_options</span>, &amp;<span class="ruby-identifier">blk</span>
109: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -681,13 +685,13 @@ Deprecated methods
<div class="method-source-code"
id="group-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 125</span>
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">group</span>(*<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">blk</span>)
126: <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">args</span>
127: <span class="ruby-keyword kw">yield</span>
128: <span class="ruby-keyword kw">ensure</span>
129: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> { <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">pop</span> }
130: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 123</span>
123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">group</span>(*<span class="ruby-identifier">args</span>, &amp;<span class="ruby-identifier">blk</span>)
124: <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">args</span>
125: <span class="ruby-keyword kw">yield</span>
126: <span class="ruby-keyword kw">ensure</span>
127: <span class="ruby-identifier">args</span>.<span class="ruby-identifier">each</span> { <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">pop</span> }
128: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -718,10 +722,10 @@ Deprecated methods
<div class="method-source-code"
id="path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 100</span>
100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span> = {}, <span class="ruby-identifier">source_options</span> = {}, &amp;<span class="ruby-identifier">blk</span>)
101: <span class="ruby-identifier">source</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>))), <span class="ruby-identifier">source_options</span>, &amp;<span class="ruby-identifier">blk</span>
102: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path</span>(<span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span> = {}, <span class="ruby-identifier">source_options</span> = {}, &amp;<span class="ruby-identifier">blk</span>)
99: <span class="ruby-identifier">source</span> <span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Path</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">options</span>).<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">path</span>))), <span class="ruby-identifier">source_options</span>, &amp;<span class="ruby-identifier">blk</span>
100: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -732,6 +736,35 @@ Deprecated methods
</div>
<div id="platform-method" class="method-detail method-alias">
<a name="method-i-platform"></a>
<div class="method-heading">
<span class="method-name">platform</span><span
class="method-args">(*platforms)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
</div>
<div class="aliases">
Alias for: <a href="Dsl.html#method-i-platforms">platforms</a>
</div>
</div>
<div id="platforms-method" class="method-detail ">
<a name="method-i-platforms"></a>
@ -752,18 +785,22 @@ Deprecated methods
<div class="method-source-code"
id="platforms-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 132</span>
132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">platforms</span>(*<span class="ruby-identifier">platforms</span>)
133: <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">platforms</span>
134: <span class="ruby-keyword kw">yield</span>
135: <span class="ruby-keyword kw">ensure</span>
136: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">each</span> { <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">pop</span> }
137: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 130</span>
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">platforms</span>(*<span class="ruby-identifier">platforms</span>)
131: <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">platforms</span>
132: <span class="ruby-keyword kw">yield</span>
133: <span class="ruby-keyword kw">ensure</span>
134: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">each</span> { <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">pop</span> }
135: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
<div class="aliases">
Also aliased as: <a href="Dsl.html#method-i-platform">platform</a>
</div>
</div>
@ -789,25 +826,25 @@ Deprecated methods
<div class="method-source-code"
id="source-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 81</span>
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">source</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">options</span> = {})
82: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">source</span>
83: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:gemcutter</span>, <span class="ruby-value">:rubygems</span>, <span class="ruby-value">:rubyforge</span> <span class="ruby-keyword kw">then</span>
84: <span class="ruby-identifier">rubygems_source</span> <span class="ruby-value str">&quot;http://rubygems.org&quot;</span>
85: <span class="ruby-keyword kw">return</span>
86: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
87: <span class="ruby-identifier">rubygems_source</span> <span class="ruby-identifier">source</span>
88: <span class="ruby-keyword kw">return</span>
89: <span class="ruby-keyword kw">end</span>
90:
91: <span class="ruby-ivar">@source</span> = <span class="ruby-identifier">source</span>
92: <span class="ruby-identifier">options</span>[<span class="ruby-value">:prepend</span>] <span class="ruby-operator">?</span> <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">unshift</span>(<span class="ruby-ivar">@source</span>) <span class="ruby-operator">:</span> <span class="ruby-ivar">@sources</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@source</span>
93:
94: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
95: <span class="ruby-ivar">@source</span>
96: <span class="ruby-keyword kw">ensure</span>
97: <span class="ruby-ivar">@source</span> = <span class="ruby-keyword kw">nil</span>
98: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 79</span>
79: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">source</span>(<span class="ruby-identifier">source</span>, <span class="ruby-identifier">options</span> = {})
80: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">source</span>
81: <span class="ruby-keyword kw">when</span> <span class="ruby-value">:gemcutter</span>, <span class="ruby-value">:rubygems</span>, <span class="ruby-value">:rubyforge</span> <span class="ruby-keyword kw">then</span>
82: <span class="ruby-identifier">rubygems_source</span> <span class="ruby-value str">&quot;http://rubygems.org&quot;</span>
83: <span class="ruby-keyword kw">return</span>
84: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span>
85: <span class="ruby-identifier">rubygems_source</span> <span class="ruby-identifier">source</span>
86: <span class="ruby-keyword kw">return</span>
87: <span class="ruby-keyword kw">end</span>
88:
89: <span class="ruby-ivar">@source</span> = <span class="ruby-identifier">source</span>
90: <span class="ruby-identifier">options</span>[<span class="ruby-value">:prepend</span>] <span class="ruby-operator">?</span> <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">unshift</span>(<span class="ruby-ivar">@source</span>) <span class="ruby-operator">:</span> <span class="ruby-ivar">@sources</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@source</span>
91:
92: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
93: <span class="ruby-ivar">@source</span>
94: <span class="ruby-keyword kw">ensure</span>
95: <span class="ruby-ivar">@source</span> = <span class="ruby-keyword kw">nil</span>
96: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -838,12 +875,12 @@ Deprecated methods
<div class="method-source-code"
id="to-definition-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 119</span>
119: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_definition</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
120: <span class="ruby-ivar">@sources</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@rubygems_source</span>
121: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">uniq!</span>
122: <span class="ruby-constant">Definition</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-ivar">@dependencies</span>, <span class="ruby-ivar">@sources</span>, <span class="ruby-identifier">unlock</span>)
123: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 117</span>
117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_definition</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-identifier">unlock</span>)
118: <span class="ruby-ivar">@sources</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@rubygems_source</span>
119: <span class="ruby-ivar">@sources</span>.<span class="ruby-identifier">uniq!</span>
120: <span class="ruby-constant">Definition</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">lockfile</span>, <span class="ruby-ivar">@dependencies</span>, <span class="ruby-ivar">@sources</span>, <span class="ruby-identifier">unlock</span>)
121: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -880,18 +917,18 @@ Deprecated methods
<div class="method-source-code"
id="-deprecated-options-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 233</span>
233: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_deprecated_options</span>(<span class="ruby-identifier">options</span>)
234: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:require_as</span>)
235: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;Please replace :require_as with :require&quot;</span>
236: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:vendored_at</span>)
237: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;Please replace :vendored_at with :path&quot;</span>
238: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:only</span>)
239: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;Please replace :only with :group&quot;</span>
240: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:except</span>)
241: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;The :except option is no longer supported&quot;</span>
242: <span class="ruby-keyword kw">end</span>
243: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 234</span>
234: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_deprecated_options</span>(<span class="ruby-identifier">options</span>)
235: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:require_as</span>)
236: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;Please replace :require_as with :require&quot;</span>
237: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:vendored_at</span>)
238: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;Please replace :vendored_at with :path&quot;</span>
239: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:only</span>)
240: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;Please replace :only with :group&quot;</span>
241: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value">:except</span>)
242: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DeprecatedError</span>, <span class="ruby-value str">&quot;The :except option is no longer supported&quot;</span>
243: <span class="ruby-keyword kw">end</span>
244: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -922,17 +959,17 @@ Deprecated methods
<div class="method-source-code"
id="-normalize-hash-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 176</span>
176: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">opts</span>)
177: <span class="ruby-comment cmt"># Cannot modify a hash during an iteration in 1.9</span>
178: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
179: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">String</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">k</span>
180: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">k</span>]
181: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>)
182: <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>] = <span class="ruby-identifier">v</span>
183: <span class="ruby-keyword kw">end</span>
184: <span class="ruby-identifier">opts</span>
185: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 175</span>
175: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">opts</span>)
176: <span class="ruby-comment cmt"># Cannot modify a hash during an iteration in 1.9</span>
177: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
178: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">String</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">k</span>
179: <span class="ruby-identifier">v</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">k</span>]
180: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">k</span>)
181: <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">k</span>.<span class="ruby-identifier">to_s</span>] = <span class="ruby-identifier">v</span>
182: <span class="ruby-keyword kw">end</span>
183: <span class="ruby-identifier">opts</span>
184: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -963,52 +1000,54 @@ Deprecated methods
<div class="method-source-code"
id="-normalize-options-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 187</span>
187: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_normalize_options</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">opts</span>)
188: <span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">opts</span>)
189:
190: <span class="ruby-identifier">invalid_keys</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-node">%(group git path name branch ref tag require submodules platforms)</span>
191: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">invalid_keys</span>.<span class="ruby-identifier">any?</span>
192: <span class="ruby-identifier">plural</span> = <span class="ruby-identifier">invalid_keys</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
193: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;You passed #{invalid_keys.map{|k| ':'+k }.join(&quot;, &quot;)} &quot;</span>
194: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">plural</span>
195: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;as options for gem '#{name}', but they are invalid.&quot;</span>
196: <span class="ruby-keyword kw">else</span>
197: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;as an option for gem '#{name}', but it is invalid.&quot;</span>
198: <span class="ruby-keyword kw">end</span>
199: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-identifier">message</span>
200: <span class="ruby-keyword kw">end</span>
201:
202: <span class="ruby-identifier">groups</span> = <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">dup</span>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 186</span>
186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">_normalize_options</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">opts</span>)
187: <span class="ruby-identifier">_normalize_hash</span>(<span class="ruby-identifier">opts</span>)
188:
189: <span class="ruby-identifier">invalid_keys</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">keys</span> <span class="ruby-operator">-</span> <span class="ruby-node">%(group groups git path name branch ref tag require submodules platform platforms)</span>
190: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">invalid_keys</span>.<span class="ruby-identifier">any?</span>
191: <span class="ruby-identifier">plural</span> = <span class="ruby-identifier">invalid_keys</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">&gt;</span> <span class="ruby-value">1</span>
192: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;You passed #{invalid_keys.map{|k| ':'+k }.join(&quot;, &quot;)} &quot;</span>
193: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">plural</span>
194: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;as options for gem '#{name}', but they are invalid.&quot;</span>
195: <span class="ruby-keyword kw">else</span>
196: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;as an option for gem '#{name}', but it is invalid.&quot;</span>
197: <span class="ruby-keyword kw">end</span>
198: <span class="ruby-identifier">raise</span> <span class="ruby-constant">InvalidOption</span>, <span class="ruby-identifier">message</span>
199: <span class="ruby-keyword kw">end</span>
200:
201: <span class="ruby-identifier">groups</span> = <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">dup</span>
202: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;group&quot;</span>] = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;groups&quot;</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;group&quot;</span>]
203: <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">concat</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;group&quot;</span>))
204: <span class="ruby-identifier">groups</span> = [<span class="ruby-value">:default</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">groups</span>.<span class="ruby-identifier">empty?</span>
205:
206: <span class="ruby-identifier">platforms</span> = <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">dup</span>
207: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">concat</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;platforms&quot;</span>))
208: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_sym</span> }
209: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
210: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">VALID_PLATFORMS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">p</span>)
211: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DslError</span>, <span class="ruby-node">&quot;`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}&quot;</span>
212: <span class="ruby-keyword kw">end</span>
213:
214: <span class="ruby-comment cmt"># Normalize git and path options</span>
215: [<span class="ruby-value str">&quot;git&quot;</span>, <span class="ruby-value str">&quot;path&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
216: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">param</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">type</span>]
217: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">version</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">version</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*=?\s*(\d[^\s]*)\s*$/</span>
218: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;name&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value str">&quot;version&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">$1</span>)
219: <span class="ruby-keyword kw">else</span>
220: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">dup</span>
221: <span class="ruby-keyword kw">end</span>
222: <span class="ruby-identifier">source</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">param</span>, <span class="ruby-identifier">options</span>, <span class="ruby-value">:prepend</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>) {}
223: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;source&quot;</span>] = <span class="ruby-identifier">source</span>
224: <span class="ruby-keyword kw">end</span>
225: <span class="ruby-keyword kw">end</span>
226:
227: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;source&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-ivar">@source</span>
228: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;env&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-ivar">@env</span>
229: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;platforms&quot;</span>] = <span class="ruby-ivar">@platforms</span>.<span class="ruby-identifier">dup</span>
230: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;group&quot;</span>] = <span class="ruby-identifier">groups</span>
231: <span class="ruby-keyword kw">end</span></pre>
207: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;platforms&quot;</span>] = <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;platform&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;platforms&quot;</span>]
208: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">concat</span> <span class="ruby-constant">Array</span>(<span class="ruby-identifier">opts</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;platforms&quot;</span>))
209: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">map!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">to_sym</span> }
210: <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
211: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">VALID_PLATFORMS</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">p</span>)
212: <span class="ruby-identifier">raise</span> <span class="ruby-constant">DslError</span>, <span class="ruby-node">&quot;`#{p}` is not a valid platform. The available options are: #{VALID_PLATFORMS.inspect}&quot;</span>
213: <span class="ruby-keyword kw">end</span>
214:
215: <span class="ruby-comment cmt"># Normalize git and path options</span>
216: [<span class="ruby-value str">&quot;git&quot;</span>, <span class="ruby-value str">&quot;path&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">type</span><span class="ruby-operator">|</span>
217: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">param</span> = <span class="ruby-identifier">opts</span>[<span class="ruby-identifier">type</span>]
218: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">version</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">version</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^\s*=?\s*(\d[^\s]*)\s*$/</span>
219: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;name&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">name</span>, <span class="ruby-value str">&quot;version&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">$1</span>)
220: <span class="ruby-keyword kw">else</span>
221: <span class="ruby-identifier">options</span> = <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">dup</span>
222: <span class="ruby-keyword kw">end</span>
223: <span class="ruby-identifier">source</span> = <span class="ruby-identifier">send</span>(<span class="ruby-identifier">type</span>, <span class="ruby-identifier">param</span>, <span class="ruby-identifier">options</span>, <span class="ruby-value">:prepend</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>) {}
224: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;source&quot;</span>] = <span class="ruby-identifier">source</span>
225: <span class="ruby-keyword kw">end</span>
226: <span class="ruby-keyword kw">end</span>
227:
228: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;source&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-ivar">@source</span>
229: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;env&quot;</span>] <span class="ruby-operator">||=</span> <span class="ruby-ivar">@env</span>
230: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;platforms&quot;</span>] = <span class="ruby-identifier">platforms</span>.<span class="ruby-identifier">dup</span>
231: <span class="ruby-identifier">opts</span>[<span class="ruby-value str">&quot;group&quot;</span>] = <span class="ruby-identifier">groups</span>
232: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1039,11 +1078,11 @@ Deprecated methods
<div class="method-source-code"
id="rubygems-source-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 171</span>
171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubygems_source</span>(<span class="ruby-identifier">source</span>)
172: <span class="ruby-ivar">@rubygems_source</span>.<span class="ruby-identifier">add_remote</span> <span class="ruby-identifier">source</span>
173: <span class="ruby-ivar">@sources</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@rubygems_source</span>
174: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/dsl.rb, line 170</span>
170: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubygems_source</span>(<span class="ruby-identifier">source</span>)
171: <span class="ruby-ivar">@rubygems_source</span>.<span class="ruby-identifier">add_remote</span> <span class="ruby-identifier">source</span>
172: <span class="ruby-ivar">@sources</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@rubygems_source</span>
173: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -161,6 +161,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -289,6 +291,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -103,8 +103,6 @@
<li><a href="#method-i-tag_version">#tag_version</a></li>
<li><a href="#method-i-tagged_sha">#tagged_sha</a></li>
<li><a href="#method-i-version">#version</a></li>
<li><a href="#method-i-version_tag">#version_tag</a></li>
@ -183,6 +181,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -311,6 +311,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -413,8 +415,8 @@
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 7</span>
7: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">install_tasks</span>(<span class="ruby-identifier">opts</span> = <span class="ruby-keyword kw">nil</span>)
8: <span class="ruby-identifier">dir</span> = <span class="ruby-identifier">caller</span>.<span class="ruby-identifier">find</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-regexp re">/Rakefile:/</span>}[<span class="ruby-regexp re">/^(.*?)\/Rakefile:/</span>, <span class="ruby-value">1</span>]
9: <span class="ruby-constant">GemHelper</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dir</span>, <span class="ruby-identifier">opts</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:name</span>]).<span class="ruby-identifier">install</span>
8: <span class="ruby-identifier">dir</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-constant">Rake</span>.<span class="ruby-identifier">application</span>.<span class="ruby-identifier">rakefile_location</span>)
9: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dir</span>, <span class="ruby-identifier">opts</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">opts</span>[<span class="ruby-value">:name</span>]).<span class="ruby-identifier">install</span>
10: <span class="ruby-keyword kw">end</span></pre>
</div>
@ -448,7 +450,7 @@
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 14</span>
14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">base</span>, <span class="ruby-identifier">name</span> = <span class="ruby-keyword kw">nil</span>)
15: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span> = <span class="ruby-constant">UI</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Thor</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span><span class="ruby-operator">::</span><span class="ruby-constant">Color</span>.<span class="ruby-identifier">new</span>)
15: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span> = <span class="ruby-constant">UI</span><span class="ruby-operator">::</span><span class="ruby-constant">Shell</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Thor</span><span class="ruby-operator">::</span><span class="ruby-constant">Base</span>.<span class="ruby-identifier">shell</span>.<span class="ruby-identifier">new</span>)
16: <span class="ruby-ivar">@base</span> = <span class="ruby-identifier">base</span>
17: <span class="ruby-identifier">gemspecs</span> = <span class="ruby-identifier">name</span> <span class="ruby-operator">?</span> [<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">base</span>, <span class="ruby-node">&quot;#{name}.gemspec&quot;</span>)] <span class="ruby-operator">:</span> <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">base</span>, <span class="ruby-value str">&quot;*.gemspec&quot;</span>)]
18: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Unable to determine name from existing gemspec. Use :name =&gt; 'gemname' in #install_tasks to manually set it.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">gemspecs</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">1</span>
@ -494,8 +496,8 @@
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 40</span>
40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_gem</span>
41: <span class="ruby-identifier">file_name</span> = <span class="ruby-keyword kw">nil</span>
42: <span class="ruby-identifier">sh</span>(<span class="ruby-node">&quot;gem build #{spec_path}&quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">out</span>, <span class="ruby-identifier">err</span><span class="ruby-operator">|</span>
43: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">err</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err</span>[<span class="ruby-regexp re">/ERROR/</span>]
42: <span class="ruby-identifier">sh</span>(<span class="ruby-node">&quot;gem build #{spec_path}&quot;</span>) { <span class="ruby-operator">|</span><span class="ruby-identifier">out</span>, <span class="ruby-identifier">code</span><span class="ruby-operator">|</span>
43: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">out</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">out</span>[<span class="ruby-regexp re">/Successfully/</span>]
44: <span class="ruby-identifier">file_name</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">built_gem_path</span>)
45: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">base</span>, <span class="ruby-value str">'pkg'</span>))
46: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mv</span>(<span class="ruby-identifier">built_gem_path</span>, <span class="ruby-value str">'pkg'</span>)
@ -583,13 +585,10 @@
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 52</span>
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install_gem</span>
53: <span class="ruby-identifier">built_gem_path</span> = <span class="ruby-identifier">build_gem</span>
54: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">err</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-node">&quot;gem install #{built_gem_path}&quot;</span>)
55: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">err</span>[<span class="ruby-regexp re">/ERROR/</span>]
56: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-identifier">err</span>
57: <span class="ruby-keyword kw">else</span>
58: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;#{name} (#{version}) installed&quot;</span>
59: <span class="ruby-keyword kw">end</span>
60: <span class="ruby-keyword kw">end</span></pre>
54: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-node">&quot;gem install #{built_gem_path}&quot;</span>)
55: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Couldn't install gem, run `gem install #{built_gem_path}' for more detailed output&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">out</span>[<span class="ruby-regexp re">/Successfully installed/</span>]
56: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;#{name} (#{version}) installed&quot;</span>
57: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -620,16 +619,16 @@
<div class="method-source-code"
id="release-gem-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 62</span>
62: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">release_gem</span>
63: <span class="ruby-identifier">guard_clean</span>
64: <span class="ruby-identifier">guard_already_tagged</span>
65: <span class="ruby-identifier">built_gem_path</span> = <span class="ruby-identifier">build_gem</span>
66: <span class="ruby-identifier">tag_version</span> {
67: <span class="ruby-identifier">git_push</span>
68: <span class="ruby-identifier">rubygem_push</span>(<span class="ruby-identifier">built_gem_path</span>)
69: }
70: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 59</span>
59: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">release_gem</span>
60: <span class="ruby-identifier">guard_clean</span>
61: <span class="ruby-identifier">guard_already_tagged</span>
62: <span class="ruby-identifier">built_gem_path</span> = <span class="ruby-identifier">build_gem</span>
63: <span class="ruby-identifier">tag_version</span> {
64: <span class="ruby-identifier">git_push</span>
65: <span class="ruby-identifier">rubygem_push</span>(<span class="ruby-identifier">built_gem_path</span>)
66: }
67: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -666,10 +665,10 @@
<div class="method-source-code"
id="built-gem-path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 78</span>
78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">built_gem_path</span>
79: <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">base</span>, <span class="ruby-node">&quot;#{name}-*.gem&quot;</span>)].<span class="ruby-identifier">sort_by</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">f</span>)}.<span class="ruby-identifier">last</span>
80: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 76</span>
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">built_gem_path</span>
77: <span class="ruby-constant">Dir</span>[<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">base</span>, <span class="ruby-node">&quot;#{name}-*.gem&quot;</span>)].<span class="ruby-identifier">sort_by</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">f</span>)}.<span class="ruby-identifier">last</span>
78: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -700,9 +699,10 @@
<div class="method-source-code"
id="clean--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 103</span>
103: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean?</span>
104: <span class="ruby-identifier">sh</span>(<span class="ruby-value str">&quot;git ls-files -dm&quot;</span>).<span class="ruby-identifier">split</span>(<span class="ruby-value str">&quot;\n&quot;</span>).<span class="ruby-identifier">size</span>.<span class="ruby-identifier">zero?</span>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 102</span>
102: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean?</span>
103: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-value str">&quot;git diff --exit-code&quot;</span>)
104: <span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
105: <span class="ruby-keyword kw">end</span></pre>
</div>
@ -734,12 +734,12 @@
<div class="method-source-code"
id="git-push-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 82</span>
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">git_push</span>
83: <span class="ruby-identifier">perform_git_push</span>
84: <span class="ruby-identifier">perform_git_push</span> <span class="ruby-value str">' --tags'</span>
85: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Pushed git commits and tags&quot;</span>
86: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 80</span>
80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">git_push</span>
81: <span class="ruby-identifier">perform_git_push</span>
82: <span class="ruby-identifier">perform_git_push</span> <span class="ruby-value str">' --tags'</span>
83: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-value str">&quot;Pushed git commits and tags&quot;</span>
84: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -770,12 +770,12 @@
<div class="method-source-code"
id="guard-already-tagged-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 93</span>
93: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">guard_already_tagged</span>
94: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sh</span>(<span class="ruby-value str">'git tag'</span>).<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\n/</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">version_tag</span>)
95: <span class="ruby-identifier">raise</span>(<span class="ruby-value str">&quot;This tag has already been committed to the repo.&quot;</span>)
96: <span class="ruby-keyword kw">end</span>
97: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 92</span>
92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">guard_already_tagged</span>
93: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">sh</span>(<span class="ruby-value str">'git tag'</span>).<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\n/</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">version_tag</span>)
94: <span class="ruby-identifier">raise</span>(<span class="ruby-value str">&quot;This tag has already been committed to the repo.&quot;</span>)
95: <span class="ruby-keyword kw">end</span>
96: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -806,10 +806,10 @@
<div class="method-source-code"
id="guard-clean-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 99</span>
99: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">guard_clean</span>
100: <span class="ruby-identifier">clean?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span>(<span class="ruby-value str">&quot;There are files that need to be committed first.&quot;</span>)
101: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">guard_clean</span>
99: <span class="ruby-identifier">clean?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span>(<span class="ruby-value str">&quot;There are files that need to be committed first.&quot;</span>)
100: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -840,10 +840,10 @@
<div class="method-source-code"
id="name-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 129</span>
129: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
130: <span class="ruby-identifier">gemspec</span>.<span class="ruby-identifier">name</span>
131: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 125</span>
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
126: <span class="ruby-identifier">gemspec</span>.<span class="ruby-identifier">name</span>
127: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -874,11 +874,12 @@
<div class="method-source-code"
id="perform-git-push-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 88</span>
88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">perform_git_push</span>(<span class="ruby-identifier">options</span> = <span class="ruby-value str">''</span>)
89: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">err</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span> <span class="ruby-node">&quot;git push --quiet#{options}&quot;</span>
90: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">err</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">err</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span>
91: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 86</span>
86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">perform_git_push</span>(<span class="ruby-identifier">options</span> = <span class="ruby-value str">''</span>)
87: <span class="ruby-identifier">cmd</span> = <span class="ruby-node">&quot;git push #{options}&quot;</span>
88: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-identifier">cmd</span>)
89: <span class="ruby-identifier">raise</span> <span class="ruby-node">&quot;Couldn't git push. `#{cmd}' failed with the following output:\n\n#{out}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
90: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -909,11 +910,12 @@
<div class="method-source-code"
id="rubygem-push-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 73</span>
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubygem_push</span>(<span class="ruby-identifier">path</span>)
74: <span class="ruby-identifier">sh</span>(<span class="ruby-node">&quot;gem push #{path}&quot;</span>)
75: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;Pushed #{name} #{version} to rubygems.org&quot;</span>
76: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 70</span>
70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">rubygem_push</span>(<span class="ruby-identifier">path</span>)
71: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">status</span> = <span class="ruby-identifier">sh</span>(<span class="ruby-node">&quot;gem push #{path}&quot;</span>)
72: <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;Gem push failed due to lack of RubyGems.org credentials.&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">out</span>[<span class="ruby-regexp re">/Enter your RubyGems.org credentials/</span>]
73: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;Pushed #{name} #{version} to rubygems.org&quot;</span>
74: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -944,11 +946,11 @@
<div class="method-source-code"
id="sh-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 133</span>
133: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sh</span>(<span class="ruby-identifier">cmd</span>, &amp;<span class="ruby-identifier">block</span>)
134: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">err</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-identifier">cmd</span>, &amp;<span class="ruby-identifier">block</span>)
135: <span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">raise</span>(<span class="ruby-identifier">out</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">err</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">out</span>)
136: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 129</span>
129: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sh</span>(<span class="ruby-identifier">cmd</span>, &amp;<span class="ruby-identifier">block</span>)
130: <span class="ruby-identifier">out</span>, <span class="ruby-identifier">code</span> = <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-identifier">cmd</span>, &amp;<span class="ruby-identifier">block</span>)
131: <span class="ruby-identifier">code</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span> <span class="ruby-operator">?</span> <span class="ruby-identifier">out</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">raise</span>(<span class="ruby-identifier">out</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;Running `#{cmd}' failed. Run this command directly for more detailed output.&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">out</span>)
132: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -979,18 +981,19 @@
<div class="method-source-code"
id="sh-with-code-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 138</span>
138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-identifier">cmd</span>, &amp;<span class="ruby-identifier">block</span>)
139: <span class="ruby-identifier">outbuf</span>, <span class="ruby-identifier">errbuf</span> = <span class="ruby-value str">''</span>, <span class="ruby-value str">''</span>
140: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">base</span>) {
141: <span class="ruby-identifier">stdin</span>, <span class="ruby-identifier">stdout</span>, <span class="ruby-identifier">stderr</span> = *<span class="ruby-constant">Open3</span>.<span class="ruby-identifier">popen3</span>(<span class="ruby-identifier">cmd</span>)
142: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$?</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
143: <span class="ruby-identifier">outbuf</span>, <span class="ruby-identifier">errbuf</span> = <span class="ruby-identifier">stdout</span>.<span class="ruby-identifier">read</span>, <span class="ruby-identifier">stderr</span>.<span class="ruby-identifier">read</span>
144: <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">outbuf</span>, <span class="ruby-identifier">errbuf</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
145: <span class="ruby-keyword kw">end</span>
146: }
147: [<span class="ruby-identifier">outbuf</span>, <span class="ruby-identifier">errbuf</span>, <span class="ruby-identifier">$?</span>]
148: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 134</span>
134: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sh_with_code</span>(<span class="ruby-identifier">cmd</span>, &amp;<span class="ruby-identifier">block</span>)
135: <span class="ruby-identifier">cmd</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; 2&gt;&amp;1&quot;</span>
136: <span class="ruby-identifier">outbuf</span> = <span class="ruby-value str">''</span>
137: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">cmd</span>)
138: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">base</span>) {
139: <span class="ruby-identifier">outbuf</span> = <span class="ruby-node">`#{cmd}`</span>
140: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$?</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
141: <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">outbuf</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
142: <span class="ruby-keyword kw">end</span>
143: }
144: [<span class="ruby-identifier">outbuf</span>, <span class="ruby-identifier">$?</span>]
145: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1023,12 +1026,12 @@
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 107</span>
107: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tag_version</span>
108: <span class="ruby-identifier">sh</span> <span class="ruby-node">&quot;git tag -am 'Version #{version}' #{version_tag}&quot;</span>
109: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;Tagged #{tagged_sha} with #{version_tag}&quot;</span>
108: <span class="ruby-identifier">sh</span> <span class="ruby-node">&quot;git tag -a -m \&quot;Version #{version}\&quot; #{version_tag}&quot;</span>
109: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">confirm</span> <span class="ruby-node">&quot;Tagged #{version_tag}&quot;</span>
110: <span class="ruby-keyword kw">yield</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
111: <span class="ruby-keyword kw">rescue</span>
112: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Untagged #{tagged_sha} with #{version_tag} due to error&quot;</span>
113: <span class="ruby-identifier">sh</span> <span class="ruby-node">&quot;git tag -d #{version_tag}&quot;</span>
112: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">error</span> <span class="ruby-node">&quot;Untagged #{version_tag} due to error&quot;</span>
113: <span class="ruby-identifier">sh_with_code</span> <span class="ruby-node">&quot;git tag -d #{version_tag}&quot;</span>
114: <span class="ruby-identifier">raise</span>
115: <span class="ruby-keyword kw">end</span></pre>
</div>
@ -1038,40 +1041,6 @@
</div>
<div id="tagged-sha-method" class="method-detail ">
<a name="method-i-tagged_sha"></a>
<div class="method-heading">
<span class="method-name">tagged_sha</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="tagged-sha-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 117</span>
117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">tagged_sha</span>
118: <span class="ruby-identifier">sh</span>(<span class="ruby-node">&quot;git show-ref --tags #{version_tag}&quot;</span>).<span class="ruby-identifier">split</span>(<span class="ruby-value str">' '</span>).<span class="ruby-identifier">first</span>[<span class="ruby-value">0</span>, <span class="ruby-value">8</span>]
119: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
@ -1095,10 +1064,10 @@
<div class="method-source-code"
id="version-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 121</span>
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
122: <span class="ruby-identifier">gemspec</span>.<span class="ruby-identifier">version</span>
123: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 117</span>
117: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
118: <span class="ruby-identifier">gemspec</span>.<span class="ruby-identifier">version</span>
119: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1129,10 +1098,10 @@
<div class="method-source-code"
id="version-tag-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 125</span>
125: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version_tag</span>
126: <span class="ruby-node">&quot;v#{version}&quot;</span>
127: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/gem_helper.rb, line 121</span>
121: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version_tag</span>
122: <span class="ruby-node">&quot;v#{version}&quot;</span>
123: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -138,6 +138,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -266,6 +268,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -332,14 +336,17 @@
<div class="method-source-code"
id="generic-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 179</span>
179: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generic</span>(<span class="ruby-identifier">p</span>)
180: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
181: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">p</span>
182: <span class="ruby-keyword kw">end</span>
183:
184: <span class="ruby-constant">GENERIC_CACHE</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">||=</span> <span class="ruby-constant">GENERICS</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p2</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">p2</span> } <span class="ruby-operator">||</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
185: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 193</span>
193: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generic</span>(<span class="ruby-identifier">p</span>)
194: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">p</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
195:
196: <span class="ruby-constant">GENERIC_CACHE</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
197: <span class="ruby-identifier">found</span> = <span class="ruby-constant">GENERICS</span>.<span class="ruby-identifier">find</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p2</span><span class="ruby-operator">|</span>
198: <span class="ruby-identifier">p2</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">os</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">p2</span>.<span class="ruby-identifier">os</span>
199: <span class="ruby-keyword kw">end</span>
200: <span class="ruby-identifier">found</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
201: <span class="ruby-keyword kw">end</span>
202: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -153,6 +153,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -281,6 +283,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -457,7 +461,7 @@
21: <span class="ruby-identifier">require</span> <span class="ruby-value str">'graphviz'</span>
22: <span class="ruby-identifier">populate</span>
23:
24: <span class="ruby-identifier">graph_viz</span> = <span class="ruby-constant">GraphViz</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-value str">'Gemfile'</span>, {<span class="ruby-value">:concentrate</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>, <span class="ruby-value">:dpi</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">65</span> } )
24: <span class="ruby-identifier">graph_viz</span> = <span class="ruby-constant">GraphViz</span><span class="ruby-operator">::</span><span class="ruby-identifier">new</span>(<span class="ruby-value str">'Gemfile'</span>, {<span class="ruby-value">:concentrate</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>, <span class="ruby-value">:normalize</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>, <span class="ruby-value">:nodesep</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">0.55</span>})
25: <span class="ruby-identifier">graph_viz</span>.<span class="ruby-identifier">edge</span>[<span class="ruby-value">:fontname</span>] = <span class="ruby-identifier">graph_viz</span>.<span class="ruby-identifier">node</span>[<span class="ruby-value">:fontname</span>] = <span class="ruby-value str">'Arial, Helvetica, SansSerif'</span>
26: <span class="ruby-identifier">graph_viz</span>.<span class="ruby-identifier">edge</span>[<span class="ruby-value">:fontsize</span>] = <span class="ruby-value">12</span>
27:
@ -474,7 +478,7 @@
38:
39: <span class="ruby-identifier">group_nodes</span> = {}
40: <span class="ruby-ivar">@groups</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">dependencies</span><span class="ruby-operator">|</span>
41: <span class="ruby-identifier">group_nodes</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">graph_viz</span>.<span class="ruby-identifier">add_node</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>, { <span class="ruby-value">:shape</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'folder'</span>, <span class="ruby-value">:fontsize</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">16</span> }.<span class="ruby-identifier">merge</span>(<span class="ruby-constant">USER_OPTIONS</span>))
41: <span class="ruby-identifier">group_nodes</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">graph_viz</span>.<span class="ruby-identifier">add_node</span>(<span class="ruby-identifier">name</span>.<span class="ruby-identifier">to_s</span>, { <span class="ruby-value">:shape</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value str">'box3d'</span>, <span class="ruby-value">:fontsize</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">16</span> }.<span class="ruby-identifier">merge</span>(<span class="ruby-constant">USER_OPTIONS</span>))
42: <span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dependency</span><span class="ruby-operator">|</span>
43: <span class="ruby-identifier">options</span> = { <span class="ruby-value">:weight</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-value">2</span> }
44: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">show_dependency_requirements</span> <span class="ruby-operator">&amp;&amp;</span> (<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">&quot;&gt;= 0&quot;</span>)

View File

@ -145,6 +145,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -273,6 +275,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -85,6 +85,8 @@
<li><a href="#method-i-initialize_copy">#initialize_copy</a></li>
<li><a href="#method-i-same_version%3F">#same_version?</a></li>
<li><a href="#method-i-search">#search</a></li>
<li><a href="#method-i-search_by_dependency">#search_by_dependency</a></li>
@ -95,6 +97,8 @@
<li><a href="#method-i-sources">#sources</a></li>
<li><a href="#method-i-spec_satisfies_dependency%3F">#spec_satisfies_dependency?</a></li>
<li><a href="#method-i-use">#use</a></li>
</ul>
@ -182,6 +186,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -310,6 +316,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -332,6 +340,27 @@
<!-- Attributes -->
<div id="attribute-method-details" class="method-section section">
<h3 class="section-header">Attributes</h3>
<div id="specs-attribute-method" class="method-detail">
<a name="specs"></a>
<div class="method-heading attribute-method-heading">
<span class="method-name">specs</span><span
class="attribute-access-type">[R]</span>
</div>
<div class="method-description">
</div>
</div>
</div>
<!-- Methods -->
@ -395,11 +424,11 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 11</span>
11: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
12: <span class="ruby-ivar">@cache</span> = {}
13: <span class="ruby-ivar">@specs</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [] }
14: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 14</span>
14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
15: <span class="ruby-ivar">@cache</span> = {}
16: <span class="ruby-ivar">@specs</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [] }
17: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -436,17 +465,17 @@
<div class="method-source-code"
id="--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 58</span>
58: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">spec</span>)
59: <span class="ruby-identifier">arr</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>]
60:
61: <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
62: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">platform</span>
63: <span class="ruby-keyword kw">end</span>
64:
65: <span class="ruby-identifier">arr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
66: <span class="ruby-identifier">spec</span>
67: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 64</span>
64: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">&lt;&lt;</span>(<span class="ruby-identifier">spec</span>)
65: <span class="ruby-identifier">arr</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>]
66:
67: <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">delete_if</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
68: <span class="ruby-identifier">same_version?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span>, <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">platform</span>
69: <span class="ruby-keyword kw">end</span>
70:
71: <span class="ruby-identifier">arr</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
72: <span class="ruby-identifier">spec</span>
73: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -477,12 +506,12 @@
<div class="method-source-code"
id="--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 84</span>
84: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">o</span>)
85: <span class="ruby-identifier">all?</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
86: <span class="ruby-identifier">s2</span> = <span class="ruby-identifier">o</span>[<span class="ruby-identifier">s</span>].<span class="ruby-identifier">first</span> <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span> &amp; <span class="ruby-identifier">s2</span>.<span class="ruby-identifier">dependencies</span>).<span class="ruby-identifier">empty?</span>
87: <span class="ruby-keyword kw">end</span>
88: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 90</span>
90: <span class="ruby-keyword kw">def</span> <span class="ruby-operator">==</span>(<span class="ruby-identifier">o</span>)
91: <span class="ruby-identifier">all?</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
92: <span class="ruby-identifier">s2</span> = <span class="ruby-identifier">o</span>[<span class="ruby-identifier">s</span>].<span class="ruby-identifier">first</span> <span class="ruby-keyword kw">and</span> (<span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span> &amp; <span class="ruby-identifier">s2</span>.<span class="ruby-identifier">dependencies</span>).<span class="ruby-identifier">empty?</span>
93: <span class="ruby-keyword kw">end</span>
94: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -542,12 +571,12 @@
<div class="method-source-code"
id="each-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 69</span>
69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
70: <span class="ruby-ivar">@specs</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">specs</span><span class="ruby-operator">|</span>
71: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
72: <span class="ruby-keyword kw">end</span>
73: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 75</span>
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
76: <span class="ruby-ivar">@specs</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">specs</span><span class="ruby-operator">|</span>
77: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
78: <span class="ruby-keyword kw">end</span>
79: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -578,11 +607,11 @@
<div class="method-source-code"
id="empty--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 23</span>
23: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">empty?</span>
24: <span class="ruby-identifier">each</span> { <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> }
25: <span class="ruby-keyword kw">true</span>
26: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 29</span>
29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">empty?</span>
30: <span class="ruby-identifier">each</span> { <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> }
31: <span class="ruby-keyword kw">true</span>
32: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -613,13 +642,16 @@
<div class="method-source-code"
id="initialize-copy-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 16</span>
16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_copy</span>(<span class="ruby-identifier">o</span>)
17: <span class="ruby-keyword kw">super</span>
18: <span class="ruby-ivar">@cache</span> = {}
19: <span class="ruby-ivar">@specs</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [] }
20: <span class="ruby-identifier">merge!</span>(<span class="ruby-identifier">o</span>)
21: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 19</span>
19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_copy</span>(<span class="ruby-identifier">o</span>)
20: <span class="ruby-keyword kw">super</span>
21: <span class="ruby-ivar">@cache</span> = {}
22: <span class="ruby-ivar">@specs</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span>,<span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">h</span>[<span class="ruby-identifier">k</span>] = [] }
23:
24: <span class="ruby-identifier">o</span>.<span class="ruby-identifier">specs</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">array</span><span class="ruby-operator">|</span>
25: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-identifier">array</span>.<span class="ruby-identifier">dup</span>
26: <span class="ruby-keyword kw">end</span>
27: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -650,14 +682,14 @@
<div class="method-source-code"
id="search-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 28</span>
28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">query</span>)
29: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">query</span>
30: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>, <span class="ruby-constant">RemoteSpecification</span>, <span class="ruby-constant">LazySpecification</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">search_by_spec</span>(<span class="ruby-identifier">query</span>)
31: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">query</span>]
32: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">search_by_dependency</span>(<span class="ruby-identifier">query</span>)
33: <span class="ruby-keyword kw">end</span>
34: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 34</span>
34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">query</span>)
35: <span class="ruby-keyword kw">case</span> <span class="ruby-identifier">query</span>
36: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>, <span class="ruby-constant">RemoteSpecification</span>, <span class="ruby-constant">LazySpecification</span> <span class="ruby-keyword kw">then</span> <span class="ruby-identifier">search_by_spec</span>(<span class="ruby-identifier">query</span>)
37: <span class="ruby-keyword kw">when</span> <span class="ruby-constant">String</span> <span class="ruby-keyword kw">then</span> <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">query</span>]
38: <span class="ruby-keyword kw">else</span> <span class="ruby-identifier">search_by_dependency</span>(<span class="ruby-identifier">query</span>)
39: <span class="ruby-keyword kw">end</span>
40: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -692,20 +724,20 @@
<div class="method-source-code"
id="search-for-all-platforms-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 36</span>
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search_for_all_platforms</span>(<span class="ruby-identifier">dependency</span>, <span class="ruby-identifier">base</span> = [])
37: <span class="ruby-identifier">specs</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">base</span>
38:
39: <span class="ruby-identifier">wants_prerelease</span> = <span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">prerelease?</span>
40: <span class="ruby-identifier">only_prerelease</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">all?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
41: <span class="ruby-identifier">found</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dependency</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">spec</span> }
42:
43: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">wants_prerelease</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">only_prerelease</span>
44: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
45: <span class="ruby-keyword kw">end</span>
46:
47: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ruby'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;\00&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span>] }
48: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 42</span>
42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search_for_all_platforms</span>(<span class="ruby-identifier">dependency</span>, <span class="ruby-identifier">base</span> = [])
43: <span class="ruby-identifier">specs</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">+</span> <span class="ruby-identifier">base</span>
44:
45: <span class="ruby-identifier">wants_prerelease</span> = <span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">prerelease?</span>
46: <span class="ruby-identifier">only_prerelease</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">all?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
47: <span class="ruby-identifier">found</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">matches_spec?</span>(<span class="ruby-identifier">spec</span>) }
48:
49: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">wants_prerelease</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">only_prerelease</span>
50: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
51: <span class="ruby-keyword kw">end</span>
52:
53: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ruby'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;\00&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span>] }
54: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -736,12 +768,12 @@
<div class="method-source-code"
id="sources-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 50</span>
50: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sources</span>
51: <span class="ruby-ivar">@specs</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">specs</span><span class="ruby-operator">|</span>
52: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">class</span> }
53: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>
54: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 56</span>
56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sources</span>
57: <span class="ruby-ivar">@specs</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">specs</span><span class="ruby-operator">|</span>
58: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">class</span> }
59: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">uniq</span>
60: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -772,15 +804,15 @@
<div class="method-source-code"
id="use-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 75</span>
75: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">use</span>(<span class="ruby-identifier">other</span>)
76: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>
77: <span class="ruby-identifier">other</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
78: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">search_by_spec</span>(<span class="ruby-identifier">s</span>).<span class="ruby-identifier">any?</span>
79: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
80: <span class="ruby-keyword kw">end</span>
81: <span class="ruby-keyword kw">self</span>
82: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 81</span>
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">use</span>(<span class="ruby-identifier">other</span>)
82: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">other</span>
83: <span class="ruby-identifier">other</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
84: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">search_by_spec</span>(<span class="ruby-identifier">s</span>).<span class="ruby-identifier">any?</span>
85: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
86: <span class="ruby-keyword kw">end</span>
87: <span class="ruby-keyword kw">self</span>
88: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -797,6 +829,42 @@
<h3 class="section-header">Private Instance Methods</h3>
<div id="same-version--method" class="method-detail ">
<a name="method-i-same_version%3F"></a>
<div class="method-heading">
<span class="method-name">same_version?</span><span
class="method-args">(a, b)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="same-version--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 104</span>
104: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">same_version?</span>(<span class="ruby-identifier">a</span>, <span class="ruby-identifier">b</span>)
105: <span class="ruby-identifier">regex</span> = <span class="ruby-regexp re">/^(.*?)(?:\.0)*$/</span>
106:
107: <span class="ruby-identifier">ret</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-identifier">regex</span>, <span class="ruby-value">1</span>] <span class="ruby-operator">==</span> <span class="ruby-identifier">b</span>.<span class="ruby-identifier">to_s</span>[<span class="ruby-identifier">regex</span>, <span class="ruby-value">1</span>]
108: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="search-by-dependency-method" class="method-detail ">
<a name="method-i-search_by_dependency"></a>
@ -817,22 +885,22 @@
<div class="method-source-code"
id="search-by-dependency-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search_by_dependency</span>(<span class="ruby-identifier">dependency</span>)
99: <span class="ruby-ivar">@cache</span>[<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">hash</span>] <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
100: <span class="ruby-identifier">specs</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">name</span>]
101:
102: <span class="ruby-identifier">wants_prerelease</span> = <span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">prerelease?</span>
103: <span class="ruby-identifier">only_prerelease</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">all?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
104: <span class="ruby-identifier">found</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dependency</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">spec</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">platform</span>) }
105:
106: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">wants_prerelease</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">only_prerelease</span>
107: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
108: <span class="ruby-keyword kw">end</span>
109:
110: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ruby'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;\00&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span>] }
111: <span class="ruby-keyword kw">end</span>
112: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 115</span>
115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search_by_dependency</span>(<span class="ruby-identifier">dependency</span>)
116: <span class="ruby-ivar">@cache</span>[<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">hash</span>] <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
117: <span class="ruby-identifier">specs</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">name</span>]
118:
119: <span class="ruby-identifier">wants_prerelease</span> = <span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">prerelease?</span>
120: <span class="ruby-identifier">only_prerelease</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">all?</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
121: <span class="ruby-identifier">found</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dependency</span>.<span class="ruby-identifier">matches_spec?</span>(<span class="ruby-identifier">spec</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">match</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">platform</span>) }
122:
123: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">wants_prerelease</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">only_prerelease</span>
124: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">reject!</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">prerelease?</span> }
125: <span class="ruby-keyword kw">end</span>
126:
127: <span class="ruby-identifier">found</span>.<span class="ruby-identifier">sort_by</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> [<span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span>, <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'ruby'</span> <span class="ruby-operator">?</span> <span class="ruby-value str">&quot;\00&quot;&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>.<span class="ruby-identifier">to_s</span>] }
128: <span class="ruby-keyword kw">end</span>
129: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -863,12 +931,47 @@
<div class="method-source-code"
id="search-by-spec-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 92</span>
92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search_by_spec</span>(<span class="ruby-identifier">spec</span>)
93: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>].<span class="ruby-identifier">select</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
94: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>) <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">platform</span>)
95: <span class="ruby-keyword kw">end</span>
96: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search_by_spec</span>(<span class="ruby-identifier">spec</span>)
99: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>].<span class="ruby-identifier">select</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
100: <span class="ruby-identifier">same_version?</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span>, <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>) <span class="ruby-operator">==</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">platform</span>)
101: <span class="ruby-keyword kw">end</span>
102: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="spec-satisfies-dependency--method" class="method-detail ">
<a name="method-i-spec_satisfies_dependency%3F"></a>
<div class="method-heading">
<span class="method-name">spec_satisfies_dependency?</span><span
class="method-args">(spec, dep)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="spec-satisfies-dependency--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/index.rb, line 110</span>
110: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">spec_satisfies_dependency?</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">dep</span>)
111: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>
112: <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">satisfied_by?</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>)
113: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -149,6 +149,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -277,6 +279,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -413,17 +417,18 @@
53: <span class="ruby-identifier">old_args</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>.<span class="ruby-identifier">build_args</span>
54: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>.<span class="ruby-identifier">build_args</span> = [<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-node">&quot;build.#{spec.name}&quot;</span>]]
55: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
56: <span class="ruby-keyword kw">ensure</span>
57: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>.<span class="ruby-identifier">build_args</span> = <span class="ruby-identifier">old_args</span>
58: <span class="ruby-keyword kw">end</span>
59:
60: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;&quot;</span>
61: <span class="ruby-identifier">generate_bundler_executable_stubs</span>(<span class="ruby-identifier">spec</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:bin</span>]
62: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">tmp</span>)
63: <span class="ruby-keyword kw">end</span>
64:
65: <span class="ruby-identifier">lock</span>
66: <span class="ruby-keyword kw">end</span></pre>
56: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">debug</span> <span class="ruby-node">&quot;from #{spec.loaded_from} &quot;</span>
57: <span class="ruby-keyword kw">ensure</span>
58: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Command</span>.<span class="ruby-identifier">build_args</span> = <span class="ruby-identifier">old_args</span>
59: <span class="ruby-keyword kw">end</span>
60:
61: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;&quot;</span>
62: <span class="ruby-identifier">generate_bundler_executable_stubs</span>(<span class="ruby-identifier">spec</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">settings</span>[<span class="ruby-value">:bin</span>]
63: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">tmp</span>)
64: <span class="ruby-keyword kw">end</span>
65:
66: <span class="ruby-identifier">lock</span>
67: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -460,19 +465,20 @@
<div class="method-source-code"
id="generate-bundler-executable-stubs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/installer.rb, line 70</span>
70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_bundler_executable_stubs</span>(<span class="ruby-identifier">spec</span>)
71: <span class="ruby-identifier">bin_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">bin_path</span>
72: <span class="ruby-identifier">template</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">'../templates/Executable'</span>, <span class="ruby-keyword kw">__FILE__</span>))
73: <span class="ruby-identifier">relative_gemfile_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">default_gemfile</span>.<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-identifier">bin_path</span>)
74:
75: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">executable</span><span class="ruby-operator">|</span>
76: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">executable</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;bundle&quot;</span>
77: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span> <span class="ruby-node">&quot;#{bin_path}/#{executable}&quot;</span>, <span class="ruby-value str">'w'</span>, <span class="ruby-value">0755</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
78: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">template</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">'-'</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
79: <span class="ruby-keyword kw">end</span>
80: <span class="ruby-keyword kw">end</span>
81: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/installer.rb, line 71</span>
71: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_bundler_executable_stubs</span>(<span class="ruby-identifier">spec</span>)
72: <span class="ruby-identifier">bin_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">bin_path</span>
73: <span class="ruby-identifier">template</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">read</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">'../templates/Executable'</span>, <span class="ruby-keyword kw">__FILE__</span>))
74: <span class="ruby-identifier">relative_gemfile_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">default_gemfile</span>.<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-identifier">bin_path</span>)
75: <span class="ruby-identifier">ruby_command</span> = <span class="ruby-constant">Thor</span><span class="ruby-operator">::</span><span class="ruby-constant">Util</span>.<span class="ruby-identifier">ruby_command</span>
76:
77: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">executable</span><span class="ruby-operator">|</span>
78: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">executable</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;bundle&quot;</span>
79: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span> <span class="ruby-node">&quot;#{bin_path}/#{executable}&quot;</span>, <span class="ruby-value str">'w'</span>, <span class="ruby-value">0755</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span>
80: <span class="ruby-identifier">f</span>.<span class="ruby-identifier">puts</span> <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">template</span>, <span class="ruby-keyword kw">nil</span>, <span class="ruby-value str">'-'</span>).<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
81: <span class="ruby-keyword kw">end</span>
82: <span class="ruby-keyword kw">end</span>
83: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -278,10 +282,7 @@
<h1 class="class">Bundler::InvalidSpecSet</h1>
<div id="description">
<p>
Internal errors, should be rescued
</p>
</div>
<!-- Constants -->

View File

@ -170,6 +170,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -298,6 +300,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -153,6 +153,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -281,6 +283,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -421,7 +425,7 @@
11: <span class="ruby-ivar">@specs</span> = []
12: <span class="ruby-ivar">@state</span> = <span class="ruby-value">:source</span>
13:
14: <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/\n+/</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
14: <span class="ruby-identifier">lockfile</span>.<span class="ruby-identifier">split</span>(<span class="ruby-regexp re">/(\r?\n)+/</span>).<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">line</span><span class="ruby-operator">|</span>
15: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;DEPENDENCIES&quot;</span>
16: <span class="ruby-ivar">@state</span> = <span class="ruby-value">:dependency</span>
17: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">line</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;PLATFORMS&quot;</span>

View File

@ -149,6 +149,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -277,6 +279,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -326,12 +330,12 @@
<div class="method-source-code"
id="match-platform-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 191</span>
191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">match_platform</span>(<span class="ruby-identifier">p</span>)
192: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">platform</span> <span class="ruby-keyword kw">or</span>
193: <span class="ruby-identifier">platform</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">platform</span> <span class="ruby-keyword kw">or</span>
194: <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">platform</span>)) <span class="ruby-operator">==</span> <span class="ruby-identifier">p</span>
195: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 208</span>
208: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">match_platform</span>(<span class="ruby-identifier">p</span>)
209: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">platform</span> <span class="ruby-keyword kw">or</span>
210: <span class="ruby-identifier">platform</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">platform</span> <span class="ruby-keyword kw">or</span>
211: <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">platform</span>)) <span class="ruby-operator">==</span> <span class="ruby-identifier">p</span>
212: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -166,6 +166,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -294,6 +296,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -90,6 +90,8 @@
<li><a href="#method-i-gem_message">#gem_message</a></li>
<li><a href="#method-i-gems_size">#gems_size</a></li>
<li><a href="#method-i-resolve">#resolve</a></li>
<li><a href="#method-i-resolve_requirement">#resolve_requirement</a></li>
@ -176,6 +178,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -304,6 +308,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -386,15 +392,16 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 138</span>
138: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">base</span>)
139: <span class="ruby-ivar">@errors</span> = {}
140: <span class="ruby-ivar">@stack</span> = []
141: <span class="ruby-ivar">@base</span> = <span class="ruby-identifier">base</span>
142: <span class="ruby-ivar">@index</span> = <span class="ruby-identifier">index</span>
143: <span class="ruby-ivar">@missing_gems</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>)
144: <span class="ruby-ivar">@source_requirements</span> = <span class="ruby-identifier">source_requirements</span>
145: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 135</span>
135: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">base</span>)
136: <span class="ruby-ivar">@errors</span> = {}
137: <span class="ruby-ivar">@stack</span> = []
138: <span class="ruby-ivar">@base</span> = <span class="ruby-identifier">base</span>
139: <span class="ruby-ivar">@index</span> = <span class="ruby-identifier">index</span>
140: <span class="ruby-ivar">@gems_size</span> = {}
141: <span class="ruby-ivar">@missing_gems</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value">0</span>)
142: <span class="ruby-ivar">@source_requirements</span> = <span class="ruby-identifier">source_requirements</span>
143: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -445,17 +452,17 @@ If the list of dependencies can be resolved, a
<div class="method-source-code"
id="resolve-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 127</span>
127: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">requirements</span>, <span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span> = {}, <span class="ruby-identifier">base</span> = [])
128: <span class="ruby-identifier">base</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">SpecSet</span>)
129: <span class="ruby-identifier">resolver</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">base</span>)
130: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">catch</span>(<span class="ruby-value">:success</span>) <span class="ruby-keyword kw">do</span>
131: <span class="ruby-identifier">resolver</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">requirements</span>)
132: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">resolver</span>.<span class="ruby-identifier">version_conflict</span>
133: <span class="ruby-keyword kw">nil</span>
134: <span class="ruby-keyword kw">end</span>
135: <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>)
136: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 124</span>
124: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">requirements</span>, <span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span> = {}, <span class="ruby-identifier">base</span> = [])
125: <span class="ruby-identifier">base</span> = <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">SpecSet</span>)
126: <span class="ruby-identifier">resolver</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">index</span>, <span class="ruby-identifier">source_requirements</span>, <span class="ruby-identifier">base</span>)
127: <span class="ruby-identifier">result</span> = <span class="ruby-identifier">catch</span>(<span class="ruby-value">:success</span>) <span class="ruby-keyword kw">do</span>
128: <span class="ruby-identifier">resolver</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">requirements</span>)
129: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">resolver</span>.<span class="ruby-identifier">version_conflict</span>
130: <span class="ruby-keyword kw">nil</span>
131: <span class="ruby-keyword kw">end</span>
132: <span class="ruby-constant">SpecSet</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">result</span>)
133: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -492,14 +499,14 @@ If the list of dependencies can be resolved, a
<div class="method-source-code"
id="clean-req-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 378</span>
378: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean_req</span>(<span class="ruby-identifier">req</span>)
379: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;&gt;= 0&quot;</span>)
380: <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/ \(.*?\)$/</span>, <span class="ruby-value str">''</span>)
381: <span class="ruby-keyword kw">else</span>
382: <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\, (runtime|development)\)$/</span>, <span class="ruby-value str">')'</span>)
383: <span class="ruby-keyword kw">end</span>
384: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 382</span>
382: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean_req</span>(<span class="ruby-identifier">req</span>)
383: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-value str">&quot;&gt;= 0&quot;</span>)
384: <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/ \(.*?\)$/</span>, <span class="ruby-value str">''</span>)
385: <span class="ruby-keyword kw">else</span>
386: <span class="ruby-identifier">req</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>(<span class="ruby-regexp re">/\, (runtime|development)\)$/</span>, <span class="ruby-value str">')'</span>)
387: <span class="ruby-keyword kw">end</span>
388: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -530,14 +537,14 @@ If the list of dependencies can be resolved, a
<div class="method-source-code"
id="debug-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 147</span>
147: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>
148: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'DEBUG_RESOLVER'</span>]
149: <span class="ruby-identifier">debug_info</span> = <span class="ruby-keyword kw">yield</span>
150: <span class="ruby-identifier">debug_info</span> = <span class="ruby-identifier">debug_info</span>.<span class="ruby-identifier">inpsect</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">debug_info</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
151: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">debug_info</span>
152: <span class="ruby-keyword kw">end</span>
153: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 145</span>
145: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>
146: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'DEBUG_RESOLVER'</span>]
147: <span class="ruby-identifier">debug_info</span> = <span class="ruby-keyword kw">yield</span>
148: <span class="ruby-identifier">debug_info</span> = <span class="ruby-identifier">debug_info</span>.<span class="ruby-identifier">inpsect</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">debug_info</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">String</span>)
149: <span class="ruby-identifier">$stderr</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">debug_info</span>
150: <span class="ruby-keyword kw">end</span>
151: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -568,56 +575,67 @@ If the list of dependencies can be resolved, a
<div class="method-source-code"
id="error-message-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 405</span>
405: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error_message</span>
406: <span class="ruby-identifier">output</span> = <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span>, (<span class="ruby-identifier">conflict</span>, (<span class="ruby-identifier">origin</span>, <span class="ruby-identifier">requirement</span>))<span class="ruby-operator">|</span>
407:
408: <span class="ruby-comment cmt"># origin is the SpecSet of specs from the Gemfile that is conflicted with</span>
409: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">origin</span>
410:
411: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">%{Bundler could not find compatible versions for gem &quot;#{origin.name}&quot;:\n}</span>
412: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In Gemfile:\n&quot;</span>
413:
414: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">requirement</span>)
415:
416: <span class="ruby-comment cmt"># If the origin is a LockfileParser, it does not respond_to :required_by</span>
417: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">origin</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:required_by</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">required_by</span> = <span class="ruby-identifier">origin</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span>
418: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In snapshot (Gemfile.lock):\n&quot;</span>
419: <span class="ruby-keyword kw">end</span>
420:
421: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">origin</span>)
422:
423: <span class="ruby-comment cmt"># origin is nil if the required gem and version cannot be found in any of</span>
424: <span class="ruby-comment cmt"># the specified sources</span>
425: <span class="ruby-keyword kw">else</span>
426:
427: <span class="ruby-comment cmt"># if the gem cannot be found because of a version conflict between lockfile and gemfile,</span>
428: <span class="ruby-comment cmt"># print a useful error that suggests running `bundle update`, which may fix things</span>
429: <span class="ruby-comment cmt">#</span>
430: <span class="ruby-comment cmt"># @base is a SpecSet of the gems in the lockfile</span>
431: <span class="ruby-comment cmt"># conflict is the name of the gem that could not be found</span>
432: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">locked</span> = <span class="ruby-ivar">@base</span>[<span class="ruby-identifier">conflict</span>].<span class="ruby-identifier">first</span>
433: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Bundler could not find compatible versions for gem #{conflict.inspect}:\n&quot;</span>
434: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In snapshot (Gemfile.lock):\n&quot;</span>
435: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(locked)}\n\n&quot;</span>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 409</span>
409: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error_message</span>
410: <span class="ruby-identifier">output</span> = <span class="ruby-identifier">errors</span>.<span class="ruby-identifier">inject</span>(<span class="ruby-value str">&quot;&quot;</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">o</span>, (<span class="ruby-identifier">conflict</span>, (<span class="ruby-identifier">origin</span>, <span class="ruby-identifier">requirement</span>))<span class="ruby-operator">|</span>
411:
412: <span class="ruby-comment cmt"># origin is the SpecSet of specs from the Gemfile that is conflicted with</span>
413: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">origin</span>
414:
415: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">%{Bundler could not find compatible versions for gem &quot;#{origin.name}&quot;:\n}</span>
416: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In Gemfile:\n&quot;</span>
417:
418: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">requirement</span>)
419:
420: <span class="ruby-comment cmt"># If the origin is &quot;bundler&quot;, the conflict is us</span>
421: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">origin</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;bundler&quot;</span>
422: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; Current Bundler version:\n&quot;</span>
423: <span class="ruby-identifier">newer_bundler_required</span> = <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">requirement</span> <span class="ruby-operator">&gt;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Requirement</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">origin</span>.<span class="ruby-identifier">version</span>)
424: <span class="ruby-comment cmt"># If the origin is a LockfileParser, it does not respond_to :required_by</span>
425: <span class="ruby-keyword kw">elsif</span> <span class="ruby-operator">!</span><span class="ruby-identifier">origin</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:required_by</span>) <span class="ruby-operator">||</span> <span class="ruby-operator">!</span>(<span class="ruby-identifier">required_by</span> = <span class="ruby-identifier">origin</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span>)
426: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In snapshot (Gemfile.lock):\n&quot;</span>
427: <span class="ruby-keyword kw">end</span>
428:
429: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">origin</span>)
430:
431: <span class="ruby-comment cmt"># If the bundle wants a newer bundler than the running bundler, explain</span>
432: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">origin</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;bundler&quot;</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">newer_bundler_required</span>
433: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Your version of Bundler is older than the one requested by the Gemfile.\n&quot;</span>
434: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Perhaps you need to update Bundler by running `gem install bundler`.&quot;</span>
435: <span class="ruby-keyword kw">end</span>
436:
437: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In Gemfile:\n&quot;</span>
438: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">requirement</span>)
439: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Running `bundle update` will rebuild your snapshot from scratch, using only\n&quot;</span>
440: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;the gems in your Gemfile, which may resolve the conflict.\n&quot;</span>
441:
442: <span class="ruby-comment cmt"># the rest of the time, the gem cannot be found because it does not exist in the known sources</span>
443: <span class="ruby-keyword kw">else</span>
444: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span>
445: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Could not find gem '#{clean_req(requirement)}', required by '#{clean_req(requirement.required_by.first)}', in any of the sources\n&quot;</span>
446: <span class="ruby-keyword kw">else</span>
447: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Could not find gem '#{clean_req(requirement)} in any of the sources\n&quot;</span>
448: <span class="ruby-keyword kw">end</span>
449: <span class="ruby-keyword kw">end</span>
437: <span class="ruby-comment cmt"># origin is nil if the required gem and version cannot be found in any of</span>
438: <span class="ruby-comment cmt"># the specified sources</span>
439: <span class="ruby-keyword kw">else</span>
440:
441: <span class="ruby-comment cmt"># if the gem cannot be found because of a version conflict between lockfile and gemfile,</span>
442: <span class="ruby-comment cmt"># print a useful error that suggests running `bundle update`, which may fix things</span>
443: <span class="ruby-comment cmt">#</span>
444: <span class="ruby-comment cmt"># @base is a SpecSet of the gems in the lockfile</span>
445: <span class="ruby-comment cmt"># conflict is the name of the gem that could not be found</span>
446: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">locked</span> = <span class="ruby-ivar">@base</span>[<span class="ruby-identifier">conflict</span>].<span class="ruby-identifier">first</span>
447: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Bundler could not find compatible versions for gem #{conflict.inspect}:\n&quot;</span>
448: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In snapshot (Gemfile.lock):\n&quot;</span>
449: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(locked)}\n\n&quot;</span>
450:
451: <span class="ruby-keyword kw">end</span>
452: <span class="ruby-keyword kw">end</span>
453: <span class="ruby-keyword kw">end</span></pre>
451: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; In Gemfile:\n&quot;</span>
452: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">requirement</span>)
453: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;Running `bundle update` will rebuild your snapshot from scratch, using only\n&quot;</span>
454: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;the gems in your Gemfile, which may resolve the conflict.\n&quot;</span>
455:
456: <span class="ruby-comment cmt"># the rest of the time, the gem cannot be found because it does not exist in the known sources</span>
457: <span class="ruby-keyword kw">else</span>
458: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span>
459: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Could not find gem '#{clean_req(requirement)}', required by '#{clean_req(requirement.required_by.first)}', in any of the sources\n&quot;</span>
460: <span class="ruby-keyword kw">else</span>
461: <span class="ruby-identifier">o</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Could not find gem '#{clean_req(requirement)} in any of the sources\n&quot;</span>
462: <span class="ruby-keyword kw">end</span>
463: <span class="ruby-keyword kw">end</span>
464:
465: <span class="ruby-keyword kw">end</span>
466: <span class="ruby-identifier">o</span>
467: <span class="ruby-keyword kw">end</span>
468: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -650,20 +668,54 @@ For a given conflicted requirement, print out what exactly went wrong
<div class="method-source-code"
id="gem-message-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 391</span>
391: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">requirement</span>)
392: <span class="ruby-identifier">m</span> = <span class="ruby-value str">&quot;&quot;</span>
393:
394: <span class="ruby-comment cmt"># A requirement that is required by itself is actually in the Gemfile, and does</span>
395: <span class="ruby-comment cmt"># not &quot;depend on&quot; itself</span>
396: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">name</span>
397: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(requirement.required_by.first)} depends on\n&quot;</span>
398: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(requirement)}\n&quot;</span>
399: <span class="ruby-keyword kw">else</span>
400: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(requirement)}\n&quot;</span>
401: <span class="ruby-keyword kw">end</span>
402: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
403: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 395</span>
395: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem_message</span>(<span class="ruby-identifier">requirement</span>)
396: <span class="ruby-identifier">m</span> = <span class="ruby-value str">&quot;&quot;</span>
397:
398: <span class="ruby-comment cmt"># A requirement that is required by itself is actually in the Gemfile, and does</span>
399: <span class="ruby-comment cmt"># not &quot;depend on&quot; itself</span>
400: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">name</span>
401: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(requirement.required_by.first)} depends on\n&quot;</span>
402: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(requirement)}\n&quot;</span>
403: <span class="ruby-keyword kw">else</span>
404: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{clean_req(requirement)}\n&quot;</span>
405: <span class="ruby-keyword kw">end</span>
406: <span class="ruby-identifier">m</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;\n&quot;</span>
407: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="gems-size-method" class="method-detail ">
<a name="method-i-gems_size"></a>
<div class="method-heading">
<span class="method-name">gems_size</span><span
class="method-args">(dep)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="gems-size-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 353</span>
353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gems_size</span>(<span class="ruby-identifier">dep</span>)
354: <span class="ruby-ivar">@gems_size</span>[<span class="ruby-identifier">dep</span>] <span class="ruby-operator">||=</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">dep</span>).<span class="ruby-identifier">size</span>
355: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -694,78 +746,80 @@ For a given conflicted requirement, print out what exactly went wrong
<div class="method-source-code"
id="resolve-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 165</span>
165: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">reqs</span>, <span class="ruby-identifier">activated</span>)
166: <span class="ruby-comment cmt"># If the requirements are empty, then we are in a success state. Aka, all</span>
167: <span class="ruby-comment cmt"># gem dependencies have been resolved.</span>
168: <span class="ruby-identifier">throw</span> <span class="ruby-value">:success</span>, <span class="ruby-identifier">successify</span>(<span class="ruby-identifier">activated</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">empty?</span>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 163</span>
163: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">reqs</span>, <span class="ruby-identifier">activated</span>)
164: <span class="ruby-comment cmt"># If the requirements are empty, then we are in a success state. Aka, all</span>
165: <span class="ruby-comment cmt"># gem dependencies have been resolved.</span>
166: <span class="ruby-identifier">throw</span> <span class="ruby-value">:success</span>, <span class="ruby-identifier">successify</span>(<span class="ruby-identifier">activated</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">empty?</span>
167:
168: <span class="ruby-identifier">debug</span> { <span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;\e[2J\e[f&quot;</span> ; <span class="ruby-value str">&quot;==== Iterating ====\n\n&quot;</span> }
169:
170: <span class="ruby-identifier">debug</span> { <span class="ruby-identifier">print</span> <span class="ruby-value str">&quot;\e[2J\e[f&quot;</span> ; <span class="ruby-value str">&quot;==== Iterating ====\n\n&quot;</span> }
171:
172: <span class="ruby-comment cmt"># Sort dependencies so that the ones that are easiest to resolve are first.</span>
173: <span class="ruby-comment cmt"># Easiest to resolve is defined by:</span>
174: <span class="ruby-comment cmt"># 1) Is this gem already activated?</span>
175: <span class="ruby-comment cmt"># 2) Do the version requirements include prereleased gems?</span>
176: <span class="ruby-comment cmt"># 3) Sort by number of gems available in the source.</span>
177: <span class="ruby-identifier">reqs</span> = <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">sort_by</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
178: [ <span class="ruby-identifier">activated</span>[<span class="ruby-identifier">a</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>,
179: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">prerelease?</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>,
180: <span class="ruby-ivar">@errors</span>[<span class="ruby-identifier">a</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>,
181: <span class="ruby-identifier">activated</span>[<span class="ruby-identifier">a</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">a</span>).<span class="ruby-identifier">size</span> ]
182: <span class="ruby-keyword kw">end</span>
183:
184: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot;Activated:\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">activated</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; #{a.name} (#{a.version})&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) }
185: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot;Requirements:\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; #{r.name} (#{r.requirement})&quot;</span>}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) }
170: <span class="ruby-comment cmt"># Sort dependencies so that the ones that are easiest to resolve are first.</span>
171: <span class="ruby-comment cmt"># Easiest to resolve is defined by:</span>
172: <span class="ruby-comment cmt"># 1) Is this gem already activated?</span>
173: <span class="ruby-comment cmt"># 2) Do the version requirements include prereleased gems?</span>
174: <span class="ruby-comment cmt"># 3) Sort by number of gems available in the source.</span>
175: <span class="ruby-identifier">reqs</span> = <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">sort_by</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span>
176: [ <span class="ruby-identifier">activated</span>[<span class="ruby-identifier">a</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>,
177: <span class="ruby-identifier">a</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">prerelease?</span> <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>,
178: <span class="ruby-ivar">@errors</span>[<span class="ruby-identifier">a</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-value">1</span>,
179: <span class="ruby-identifier">activated</span>[<span class="ruby-identifier">a</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">?</span> <span class="ruby-value">0</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">gems_size</span>(<span class="ruby-identifier">a</span>) ]
180: <span class="ruby-keyword kw">end</span>
181:
182: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot;Activated:\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">activated</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; #{a.name} (#{a.version})&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) }
183: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot;Requirements:\n&quot;</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; #{r.name} (#{r.requirement})&quot;</span>}.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) }
184:
185: <span class="ruby-identifier">activated</span> = <span class="ruby-identifier">activated</span>.<span class="ruby-identifier">dup</span>
186:
187: <span class="ruby-identifier">activated</span> = <span class="ruby-identifier">activated</span>.<span class="ruby-identifier">dup</span>
188:
189: <span class="ruby-comment cmt"># Pull off the first requirement so that we can resolve it</span>
190: <span class="ruby-identifier">current</span> = <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">shift</span>
187: <span class="ruby-comment cmt"># Pull off the first requirement so that we can resolve it</span>
188: <span class="ruby-identifier">current</span> = <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">shift</span>
189:
190: <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;Attempting:\n #{current.name} (#{current.requirement})&quot;</span>}
191:
192: <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot;Attempting:\n #{current.name} (#{current.requirement})&quot;</span>}
193:
194: <span class="ruby-comment cmt"># Check if the gem has already been activated, if it has, we will make sure</span>
195: <span class="ruby-comment cmt"># that the currently activated gem satisfies the requirement.</span>
196: <span class="ruby-identifier">existing</span> = <span class="ruby-identifier">activated</span>[<span class="ruby-identifier">current</span>.<span class="ruby-identifier">name</span>]
197: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
198: <span class="ruby-comment cmt"># Force the current</span>
199: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">existing</span>
200: <span class="ruby-identifier">existing</span> = <span class="ruby-identifier">search</span>(<span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'bundler'</span>, <span class="ruby-constant">VERSION</span>), <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>)).<span class="ruby-identifier">first</span>
192: <span class="ruby-comment cmt"># Check if the gem has already been activated, if it has, we will make sure</span>
193: <span class="ruby-comment cmt"># that the currently activated gem satisfies the requirement.</span>
194: <span class="ruby-identifier">existing</span> = <span class="ruby-identifier">activated</span>[<span class="ruby-identifier">current</span>.<span class="ruby-identifier">name</span>]
195: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
196: <span class="ruby-comment cmt"># Force the current</span>
197: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">existing</span>
198: <span class="ruby-identifier">existing</span> = <span class="ruby-identifier">search</span>(<span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">'bundler'</span>, <span class="ruby-constant">VERSION</span>), <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>)).<span class="ruby-identifier">first</span>
199: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-node">%{Bundler could not find gem &quot;bundler&quot; (#{VERSION})}</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">existing</span>
200: <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">required_by</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">existing</span>
201: <span class="ruby-identifier">activated</span>[<span class="ruby-value str">'bundler'</span>] = <span class="ruby-identifier">existing</span>
202: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-node">%{Bundler could not find gem &quot;bundler&quot; (#{VERSION})}</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">existing</span>
203: <span class="ruby-keyword kw">end</span>
204:
205: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">satisfied_by?</span>(<span class="ruby-identifier">existing</span>.<span class="ruby-identifier">version</span>)
206: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot; * [SUCCESS] Already activated&quot;</span> }
207: <span class="ruby-ivar">@errors</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">existing</span>.<span class="ruby-identifier">name</span>)
208: <span class="ruby-comment cmt"># Since the current requirement is satisfied, we can continue resolving</span>
209: <span class="ruby-comment cmt"># the remaining requirements.</span>
210:
211: <span class="ruby-comment cmt"># I have no idea if this is the right way to do it, but let's see if it works</span>
212: <span class="ruby-comment cmt"># The current requirement might activate some other platforms, so let's try</span>
213: <span class="ruby-comment cmt"># adding those requirements here.</span>
214: <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">activate_platform</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">__platform</span>)
215:
216: <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">reqs</span>, <span class="ruby-identifier">activated</span>)
217: <span class="ruby-keyword kw">else</span>
218: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot; * [FAIL] Already activated&quot;</span> }
219: <span class="ruby-ivar">@errors</span>[<span class="ruby-identifier">existing</span>.<span class="ruby-identifier">name</span>] = [<span class="ruby-identifier">existing</span>, <span class="ruby-identifier">current</span>]
220: <span class="ruby-identifier">debug</span> { <span class="ruby-identifier">current</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; * #{d.name} (#{d.requirement})&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) }
221: <span class="ruby-comment cmt"># debug { &quot; * All current conflicts:\n&quot; + @errors.keys.map { |c| &quot; - #{c}&quot; }.join(&quot;\n&quot;) }</span>
222: <span class="ruby-comment cmt"># Since the current requirement conflicts with an activated gem, we need</span>
223: <span class="ruby-comment cmt"># to backtrack to the current requirement's parent and try another version</span>
224: <span class="ruby-comment cmt"># of it (maybe the current requirement won't be present anymore). If the</span>
225: <span class="ruby-comment cmt"># current requirement is a root level requirement, we need to jump back to</span>
226: <span class="ruby-comment cmt"># where the conflicting gem was activated.</span>
227: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">last</span>
228: <span class="ruby-comment cmt"># `existing` could not respond to required_by if it is part of the base set</span>
229: <span class="ruby-comment cmt"># of specs that was passed to the resolver (aka, instance of LazySpecification)</span>
230: <span class="ruby-identifier">parent</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">last</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:required_by</span>)
231: <span class="ruby-comment cmt"># We track the spot where the current gem was activated because we need</span>
232: <span class="ruby-comment cmt"># to keep a list of every spot a failure happened.</span>
233: <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot; -&gt; Jumping to: #{parent.name}&quot;</span> }
234: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span>
235: <span class="ruby-identifier">throw</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:required_by</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">name</span>
202: <span class="ruby-keyword kw">end</span>
203:
204: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">satisfied_by?</span>(<span class="ruby-identifier">existing</span>.<span class="ruby-identifier">version</span>)
205: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot; * [SUCCESS] Already activated&quot;</span> }
206: <span class="ruby-ivar">@errors</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-identifier">existing</span>.<span class="ruby-identifier">name</span>)
207: <span class="ruby-comment cmt"># Since the current requirement is satisfied, we can continue resolving</span>
208: <span class="ruby-comment cmt"># the remaining requirements.</span>
209:
210: <span class="ruby-comment cmt"># I have no idea if this is the right way to do it, but let's see if it works</span>
211: <span class="ruby-comment cmt"># The current requirement might activate some other platforms, so let's try</span>
212: <span class="ruby-comment cmt"># adding those requirements here.</span>
213: <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">concat</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">activate_platform</span>(<span class="ruby-identifier">current</span>.<span class="ruby-identifier">__platform</span>)
214:
215: <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">reqs</span>, <span class="ruby-identifier">activated</span>)
216: <span class="ruby-keyword kw">else</span>
217: <span class="ruby-identifier">debug</span> { <span class="ruby-value str">&quot; * [FAIL] Already activated&quot;</span> }
218: <span class="ruby-ivar">@errors</span>[<span class="ruby-identifier">existing</span>.<span class="ruby-identifier">name</span>] = [<span class="ruby-identifier">existing</span>, <span class="ruby-identifier">current</span>]
219: <span class="ruby-identifier">debug</span> { <span class="ruby-identifier">current</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; * #{d.name} (#{d.requirement})&quot;</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;\n&quot;</span>) }
220: <span class="ruby-comment cmt"># debug { &quot; * All current conflicts:\n&quot; + @errors.keys.map { |c| &quot; - #{c}&quot; }.join(&quot;\n&quot;) }</span>
221: <span class="ruby-comment cmt"># Since the current requirement conflicts with an activated gem, we need</span>
222: <span class="ruby-comment cmt"># to backtrack to the current requirement's parent and try another version</span>
223: <span class="ruby-comment cmt"># of it (maybe the current requirement won't be present anymore). If the</span>
224: <span class="ruby-comment cmt"># current requirement is a root level requirement, we need to jump back to</span>
225: <span class="ruby-comment cmt"># where the conflicting gem was activated.</span>
226: <span class="ruby-identifier">parent</span> = <span class="ruby-identifier">current</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">last</span>
227: <span class="ruby-comment cmt"># `existing` could not respond to required_by if it is part of the base set</span>
228: <span class="ruby-comment cmt"># of specs that was passed to the resolver (aka, instance of LazySpecification)</span>
229: <span class="ruby-identifier">parent</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">last</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:required_by</span>)
230: <span class="ruby-comment cmt"># We track the spot where the current gem was activated because we need</span>
231: <span class="ruby-comment cmt"># to keep a list of every spot a failure happened.</span>
232: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">parent</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">!=</span> <span class="ruby-value str">'bundler'</span>
233: <span class="ruby-identifier">debug</span> { <span class="ruby-node">&quot; -&gt; Jumping to: #{parent.name}&quot;</span> }
234: <span class="ruby-identifier">required_by</span> = <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:required_by</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">existing</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">last</span>
235: <span class="ruby-identifier">throw</span> <span class="ruby-identifier">parent</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">required_by</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">name</span>
236: <span class="ruby-keyword kw">else</span>
237: <span class="ruby-comment cmt"># The original set of dependencies conflict with the base set of specs</span>
238: <span class="ruby-comment cmt"># passed to the resolver. This is by definition an impossible resolve.</span>
@ -802,7 +856,7 @@ For a given conflicted requirement, print out what exactly went wrong
269: <span class="ruby-keyword kw">else</span>
270: <span class="ruby-identifier">message</span> = <span class="ruby-node">&quot;Could not find gem '#{current}' &quot;</span>
271: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@index</span>.<span class="ruby-identifier">sources</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-constant">Bundler</span><span class="ruby-operator">::</span><span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Rubygems</span>)
272: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;in any of the gem sources.&quot;</span>
272: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;in any of the gem sources listed in your Gemfile.&quot;</span>
273: <span class="ruby-keyword kw">else</span>
274: <span class="ruby-identifier">message</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot;in the gems available on this machine.&quot;</span>
275: <span class="ruby-keyword kw">end</span>
@ -939,31 +993,31 @@ For a given conflicted requirement, print out what exactly went wrong
<div class="method-source-code"
id="search-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 353</span>
353: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">dep</span>)
354: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base</span> = <span class="ruby-ivar">@base</span>[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">any?</span>
355: <span class="ruby-identifier">d</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>, *[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">as_list</span>, <span class="ruby-identifier">base</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">version</span>].<span class="ruby-identifier">flatten</span>)
356: <span class="ruby-keyword kw">else</span>
357: <span class="ruby-identifier">d</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">dep</span>
358: <span class="ruby-keyword kw">end</span>
359: <span class="ruby-identifier">index</span> = <span class="ruby-ivar">@source_requirements</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@index</span>
360: <span class="ruby-identifier">results</span> = <span class="ruby-identifier">index</span>.<span class="ruby-identifier">search_for_all_platforms</span>(<span class="ruby-identifier">d</span>, <span class="ruby-ivar">@base</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>])
361:
362: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">results</span>.<span class="ruby-identifier">any?</span>
363: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">results</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">version</span>
364: <span class="ruby-identifier">nested</span> = [[]]
365: <span class="ruby-identifier">results</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
366: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">version</span>
367: <span class="ruby-identifier">nested</span> <span class="ruby-operator">&lt;&lt;</span> []
368: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>
369: <span class="ruby-keyword kw">end</span>
370: <span class="ruby-identifier">nested</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
371: <span class="ruby-keyword kw">end</span>
372: <span class="ruby-identifier">nested</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-constant">SpecGroup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>) }.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">sg</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sg</span>.<span class="ruby-identifier">for?</span>(<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">__platform</span>) }
373: <span class="ruby-keyword kw">else</span>
374: []
375: <span class="ruby-keyword kw">end</span>
376: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 357</span>
357: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">search</span>(<span class="ruby-identifier">dep</span>)
358: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base</span> = <span class="ruby-ivar">@base</span>[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>] <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">any?</span>
359: <span class="ruby-identifier">d</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">base</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>, *[<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">as_list</span>, <span class="ruby-identifier">base</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">version</span>].<span class="ruby-identifier">flatten</span>)
360: <span class="ruby-keyword kw">else</span>
361: <span class="ruby-identifier">d</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">dep</span>
362: <span class="ruby-keyword kw">end</span>
363: <span class="ruby-identifier">index</span> = <span class="ruby-ivar">@source_requirements</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>] <span class="ruby-operator">||</span> <span class="ruby-ivar">@index</span>
364: <span class="ruby-identifier">results</span> = <span class="ruby-identifier">index</span>.<span class="ruby-identifier">search_for_all_platforms</span>(<span class="ruby-identifier">d</span>, <span class="ruby-ivar">@base</span>[<span class="ruby-identifier">d</span>.<span class="ruby-identifier">name</span>])
365:
366: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">results</span>.<span class="ruby-identifier">any?</span>
367: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">results</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">version</span>
368: <span class="ruby-identifier">nested</span> = [[]]
369: <span class="ruby-identifier">results</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
370: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">version</span>
371: <span class="ruby-identifier">nested</span> <span class="ruby-operator">&lt;&lt;</span> []
372: <span class="ruby-identifier">version</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>
373: <span class="ruby-keyword kw">end</span>
374: <span class="ruby-identifier">nested</span>.<span class="ruby-identifier">last</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
375: <span class="ruby-keyword kw">end</span>
376: <span class="ruby-identifier">nested</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">a</span><span class="ruby-operator">|</span> <span class="ruby-constant">SpecGroup</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">a</span>) }.<span class="ruby-identifier">select</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">sg</span><span class="ruby-operator">|</span> <span class="ruby-identifier">sg</span>.<span class="ruby-identifier">for?</span>(<span class="ruby-identifier">dep</span>.<span class="ruby-identifier">__platform</span>) }
377: <span class="ruby-keyword kw">else</span>
378: []
379: <span class="ruby-keyword kw">end</span>
380: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -994,12 +1048,12 @@ For a given conflicted requirement, print out what exactly went wrong
<div class="method-source-code"
id="start-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 159</span>
159: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">reqs</span>)
160: <span class="ruby-identifier">activated</span> = {}
161:
162: <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">reqs</span>, <span class="ruby-identifier">activated</span>)
163: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 157</span>
157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">start</span>(<span class="ruby-identifier">reqs</span>)
158: <span class="ruby-identifier">activated</span> = {}
159:
160: <span class="ruby-identifier">resolve</span>(<span class="ruby-identifier">reqs</span>, <span class="ruby-identifier">activated</span>)
161: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1030,10 +1084,10 @@ For a given conflicted requirement, print out what exactly went wrong
<div class="method-source-code"
id="successify-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 155</span>
155: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">successify</span>(<span class="ruby-identifier">activated</span>)
156: <span class="ruby-identifier">activated</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_specs</span> }.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>
157: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 153</span>
153: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">successify</span>(<span class="ruby-identifier">activated</span>)
154: <span class="ruby-identifier">activated</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">to_specs</span> }.<span class="ruby-identifier">flatten</span>.<span class="ruby-identifier">compact</span>
155: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1064,10 +1118,10 @@ For a given conflicted requirement, print out what exactly went wrong
<div class="method-source-code"
id="version-conflict-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 386</span>
386: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version_conflict</span>
387: <span class="ruby-constant">VersionConflict</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">keys</span>, <span class="ruby-identifier">error_message</span>)
388: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 390</span>
390: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version_conflict</span>
391: <span class="ruby-constant">VersionConflict</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">errors</span>.<span class="ruby-identifier">keys</span>, <span class="ruby-identifier">error_message</span>)
392: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -174,6 +174,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -302,6 +304,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -387,18 +391,18 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 34</span>
34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">a</span>)
35: <span class="ruby-keyword kw">super</span>
36: <span class="ruby-ivar">@required_by</span> = []
37: <span class="ruby-ivar">@activated</span> = []
38: <span class="ruby-ivar">@dependencies</span> = <span class="ruby-keyword kw">nil</span>
39: <span class="ruby-ivar">@specs</span> = {}
40:
41: <span class="ruby-constant">ALL</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
42: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">p</span>] = <span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">match_platform</span>(<span class="ruby-identifier">p</span>) }
43: <span class="ruby-keyword kw">end</span>
44: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 31</span>
31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">a</span>)
32: <span class="ruby-keyword kw">super</span>
33: <span class="ruby-ivar">@required_by</span> = []
34: <span class="ruby-ivar">@activated</span> = []
35: <span class="ruby-ivar">@dependencies</span> = <span class="ruby-keyword kw">nil</span>
36: <span class="ruby-ivar">@specs</span> = {}
37:
38: <span class="ruby-constant">ALL</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
39: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">p</span>] = <span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">match_platform</span>(<span class="ruby-identifier">p</span>) }
40: <span class="ruby-keyword kw">end</span>
41: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -435,14 +439,14 @@
<div class="method-source-code"
id="activate-platform-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 68</span>
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">activate_platform</span>(<span class="ruby-identifier">platform</span>)
69: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@activated</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">platform</span>)
70: <span class="ruby-ivar">@activated</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">platform</span>
71: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">__dependencies</span>[<span class="ruby-identifier">platform</span>] <span class="ruby-operator">||</span> []
72: <span class="ruby-keyword kw">end</span>
73: []
74: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 65</span>
65: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">activate_platform</span>(<span class="ruby-identifier">platform</span>)
66: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@activated</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">platform</span>)
67: <span class="ruby-ivar">@activated</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">platform</span>
68: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">__dependencies</span>[<span class="ruby-identifier">platform</span>] <span class="ruby-operator">||</span> []
69: <span class="ruby-keyword kw">end</span>
70: []
71: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -473,10 +477,10 @@
<div class="method-source-code"
id="for--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 88</span>
88: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">for?</span>(<span class="ruby-identifier">platform</span>)
89: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">platform</span>]
90: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 85</span>
85: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">for?</span>(<span class="ruby-identifier">platform</span>)
86: <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">platform</span>]
87: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -507,12 +511,12 @@
<div class="method-source-code"
id="initialize-copy-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 46</span>
46: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_copy</span>(<span class="ruby-identifier">o</span>)
47: <span class="ruby-keyword kw">super</span>
48: <span class="ruby-ivar">@required_by</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">dup</span>
49: <span class="ruby-ivar">@activated</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">activated</span>.<span class="ruby-identifier">dup</span>
50: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 43</span>
43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_copy</span>(<span class="ruby-identifier">o</span>)
44: <span class="ruby-keyword kw">super</span>
45: <span class="ruby-ivar">@required_by</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">required_by</span>.<span class="ruby-identifier">dup</span>
46: <span class="ruby-ivar">@activated</span> = <span class="ruby-identifier">o</span>.<span class="ruby-identifier">activated</span>.<span class="ruby-identifier">dup</span>
47: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -543,10 +547,10 @@
<div class="method-source-code"
id="name-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 76</span>
76: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
77: <span class="ruby-ivar">@name</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>
78: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 73</span>
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
74: <span class="ruby-ivar">@name</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">name</span>
75: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -577,10 +581,10 @@
<div class="method-source-code"
id="source-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 84</span>
84: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">source</span>
85: <span class="ruby-ivar">@source</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">source</span>
86: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 81</span>
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">source</span>
82: <span class="ruby-ivar">@source</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">source</span>
83: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -611,10 +615,10 @@
<div class="method-source-code"
id="to-s-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 92</span>
92: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
93: <span class="ruby-node">&quot;#{name} (#{version})&quot;</span>
94: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 89</span>
89: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
90: <span class="ruby-node">&quot;#{name} (#{version})&quot;</span>
91: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -645,22 +649,22 @@
<div class="method-source-code"
id="to-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 52</span>
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_specs</span>
53: <span class="ruby-identifier">specs</span> = {}
54:
55: <span class="ruby-ivar">@activated</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
56: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">p</span>]
57: <span class="ruby-identifier">platform</span> = <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>))
58: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">specs</span>[<span class="ruby-identifier">platform</span>]
59:
60: <span class="ruby-identifier">lazy_spec</span> = <span class="ruby-constant">LazySpecification</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">platform</span>, <span class="ruby-identifier">source</span>)
61: <span class="ruby-identifier">lazy_spec</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">replace</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span>
62: <span class="ruby-identifier">specs</span>[<span class="ruby-identifier">platform</span>] = <span class="ruby-identifier">lazy_spec</span>
63: <span class="ruby-keyword kw">end</span>
64: <span class="ruby-keyword kw">end</span>
65: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">values</span>
66: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 49</span>
49: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_specs</span>
50: <span class="ruby-identifier">specs</span> = {}
51:
52: <span class="ruby-ivar">@activated</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
53: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">s</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">p</span>]
54: <span class="ruby-identifier">platform</span> = <span class="ruby-identifier">generic</span>(<span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span>))
55: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">specs</span>[<span class="ruby-identifier">platform</span>]
56:
57: <span class="ruby-identifier">lazy_spec</span> = <span class="ruby-constant">LazySpecification</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">platform</span>, <span class="ruby-identifier">source</span>)
58: <span class="ruby-identifier">lazy_spec</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">replace</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">dependencies</span>
59: <span class="ruby-identifier">specs</span>[<span class="ruby-identifier">platform</span>] = <span class="ruby-identifier">lazy_spec</span>
60: <span class="ruby-keyword kw">end</span>
61: <span class="ruby-keyword kw">end</span>
62: <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">values</span>
63: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -691,10 +695,10 @@
<div class="method-source-code"
id="version-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 80</span>
80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
81: <span class="ruby-ivar">@version</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">version</span>
82: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 77</span>
77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">version</span>
78: <span class="ruby-ivar">@version</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">first</span>.<span class="ruby-identifier">version</span>
79: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -731,22 +735,22 @@
<div class="method-source-code"
id="-dependencies-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 98</span>
98: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">__dependencies</span>
99: <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
100: <span class="ruby-identifier">dependencies</span> = {}
101: <span class="ruby-constant">ALL</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
102: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">p</span>]
103: <span class="ruby-identifier">dependencies</span>[<span class="ruby-identifier">p</span>] = []
104: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
105: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:development</span>
106: <span class="ruby-identifier">dependencies</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">p</span>)
107: <span class="ruby-keyword kw">end</span>
108: <span class="ruby-keyword kw">end</span>
109: <span class="ruby-keyword kw">end</span>
110: <span class="ruby-identifier">dependencies</span>
111: <span class="ruby-keyword kw">end</span>
112: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/resolver.rb, line 95</span>
95: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">__dependencies</span>
96: <span class="ruby-ivar">@dependencies</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
97: <span class="ruby-identifier">dependencies</span> = {}
98: <span class="ruby-constant">ALL</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
99: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span> = <span class="ruby-ivar">@specs</span>[<span class="ruby-identifier">p</span>]
100: <span class="ruby-identifier">dependencies</span>[<span class="ruby-identifier">p</span>] = []
101: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">dependencies</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span><span class="ruby-operator">|</span>
102: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">type</span> <span class="ruby-operator">==</span> <span class="ruby-value">:development</span>
103: <span class="ruby-identifier">dependencies</span>[<span class="ruby-identifier">p</span>] <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">DepProxy</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">p</span>)
104: <span class="ruby-keyword kw">end</span>
105: <span class="ruby-keyword kw">end</span>
106: <span class="ruby-keyword kw">end</span>
107: <span class="ruby-identifier">dependencies</span>
108: <span class="ruby-keyword kw">end</span>
109: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -168,6 +168,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -296,6 +298,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -447,7 +451,7 @@
101: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Format</span>.<span class="ruby-identifier">from_file_by_path</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">spec</span>
102:
103: <span class="ruby-identifier">resolve</span>.<span class="ruby-identifier">any?</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
104: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>
104: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Bundler</span><span class="ruby-operator">::</span><span class="ruby-constant">Source</span><span class="ruby-operator">::</span><span class="ruby-constant">Git</span>)
105: <span class="ruby-keyword kw">end</span>
106: <span class="ruby-keyword kw">end</span>
107:

View File

@ -175,6 +175,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -303,6 +305,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -663,7 +667,7 @@ ENV[&#8220;BUNDLE_PATH&#8220;]
50: <span class="ruby-keyword kw">end</span>
51:
52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">value</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-identifier">key</span>]
53: <span class="ruby-identifier">locations</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Set via $#{key_for(key)}: #{value.inspect}&quot;</span>
53: <span class="ruby-identifier">locations</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot;Set via #{key}: #{value.inspect}&quot;</span>
54: <span class="ruby-keyword kw">end</span>
55:
56: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@global_config</span>.<span class="ruby-identifier">key?</span>(<span class="ruby-identifier">key</span>)
@ -773,7 +777,7 @@ ENV[&#8220;BUNDLE_PATH&#8220;]
<pre>
<span class="ruby-comment cmt"># File lib/bundler/settings.rb, line 64</span>
64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">without=</span>(<span class="ruby-identifier">array</span>)
65: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">without</span>.<span class="ruby-identifier">empty?</span>
65: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">array</span>.<span class="ruby-identifier">empty?</span>
66: <span class="ruby-keyword kw">self</span>[<span class="ruby-value">:without</span>] = <span class="ruby-identifier">array</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;:&quot;</span>)
67: <span class="ruby-keyword kw">end</span>
68: <span class="ruby-keyword kw">end</span></pre>

View File

@ -83,8 +83,6 @@
<li><a href="#method-i-find_gemfile">#find_gemfile</a></li>
<li><a href="#method-i-gem">#gem</a></li>
<li><a href="#method-i-in_bundle%3F">#in_bundle?</a></li>
<li><a href="#method-i-reverse_rubygems_kernel_mixin">#reverse_rubygems_kernel_mixin</a></li>
@ -163,6 +161,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -291,6 +291,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -366,7 +368,7 @@
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 19</span>
19: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">default_gemfile</span>
20: <span class="ruby-identifier">gemfile</span> = <span class="ruby-identifier">find_gemfile</span>
21: <span class="ruby-identifier">gemfile</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemfileNotFound</span>, <span class="ruby-value str">&quot;Could not locate Gemfile&quot;</span>
21: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemfileNotFound</span>, <span class="ruby-value str">&quot;Could not locate Gemfile&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">gemfile</span>
22: <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">gemfile</span>)
23: <span class="ruby-keyword kw">end</span></pre>
</div>
@ -473,19 +475,19 @@
<div class="method-source-code"
id="clean-load-path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 48</span>
48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean_load_path</span>
49: <span class="ruby-comment cmt"># handle 1.9 where system gems are always on the load path</span>
50: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Gem</span>)
51: <span class="ruby-identifier">me</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;../../&quot;</span>, <span class="ruby-keyword kw">__FILE__</span>)
52: <span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">reject!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
53: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">p</span>).<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">me</span>)
54: <span class="ruby-identifier">p</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>) <span class="ruby-operator">&amp;&amp;</span>
55: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">any?</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">gp</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">gp</span>) }
56: <span class="ruby-keyword kw">end</span>
57: <span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">uniq!</span>
58: <span class="ruby-keyword kw">end</span>
59: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 55</span>
55: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">clean_load_path</span>
56: <span class="ruby-comment cmt"># handle 1.9 where system gems are always on the load path</span>
57: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">defined?</span>(<span class="ruby-operator">::</span><span class="ruby-constant">Gem</span>)
58: <span class="ruby-identifier">me</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;../../&quot;</span>, <span class="ruby-keyword kw">__FILE__</span>)
59: <span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">reject!</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
60: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-identifier">p</span>) <span class="ruby-operator">=~</span> <span class="ruby-node">/^#{me}/</span>
61: <span class="ruby-identifier">p</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-keyword kw">__FILE__</span>) <span class="ruby-operator">&amp;&amp;</span>
62: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">any?</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">gp</span><span class="ruby-operator">|</span> <span class="ruby-identifier">p</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/^#{gp}/</span> }
63: <span class="ruby-keyword kw">end</span>
64: <span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">uniq!</span>
65: <span class="ruby-keyword kw">end</span>
66: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -516,83 +518,81 @@
<div class="method-source-code"
id="cripple-rubygems-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 73</span>
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cripple_rubygems</span>(<span class="ruby-identifier">specs</span>)
74: <span class="ruby-identifier">reverse_rubygems_kernel_mixin</span>
75:
76: <span class="ruby-identifier">executables</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span> }.<span class="ruby-identifier">flatten</span>
77: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">source_index</span> <span class="ruby-comment cmt"># ensure RubyGems is fully loaded</span>
78:
79: <span class="ruby-operator">::</span><span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
80: <span class="ruby-identifier">private</span>
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem</span>(*) ; <span class="ruby-keyword kw">end</span>
82: <span class="ruby-keyword kw">end</span>
83:
84: <span class="ruby-operator">::</span><span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:gem</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span>, *<span class="ruby-identifier">reqs</span><span class="ruby-operator">|</span>
85: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">executables</span>.<span class="ruby-identifier">include?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">caller</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>).<span class="ruby-identifier">first</span>)
86: <span class="ruby-keyword kw">return</span>
87: <span class="ruby-keyword kw">end</span>
88: <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">pop</span> <span class="ruby-operator">:</span> {}
89:
90: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:name</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:requirement</span>)
91: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">reqs</span>)
92: <span class="ruby-keyword kw">end</span>
93:
94: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span> }
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 80</span>
80: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cripple_rubygems</span>(<span class="ruby-identifier">specs</span>)
81: <span class="ruby-identifier">reverse_rubygems_kernel_mixin</span>
82:
83: <span class="ruby-identifier">executables</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span> }.<span class="ruby-identifier">flatten</span>
84: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">source_index</span> <span class="ruby-comment cmt"># ensure RubyGems is fully loaded</span>
85:
86: <span class="ruby-operator">::</span><span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:gem</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dep</span>, *<span class="ruby-identifier">reqs</span><span class="ruby-operator">|</span>
87: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">executables</span>.<span class="ruby-identifier">include?</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">caller</span>.<span class="ruby-identifier">first</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">':'</span>).<span class="ruby-identifier">first</span>)
88: <span class="ruby-keyword kw">return</span>
89: <span class="ruby-keyword kw">end</span>
90: <span class="ruby-identifier">opts</span> = <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">last</span>.<span class="ruby-identifier">is_a?</span>(<span class="ruby-constant">Hash</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">reqs</span>.<span class="ruby-identifier">pop</span> <span class="ruby-operator">:</span> {}
91:
92: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:name</span>) <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-value">:requirement</span>)
93: <span class="ruby-identifier">dep</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Dependency</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">dep</span>, <span class="ruby-identifier">reqs</span>)
94: <span class="ruby-keyword kw">end</span>
95:
96: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">nil?</span>
97: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">LoadError</span>.<span class="ruby-identifier">new</span> <span class="ruby-node">&quot;#{dep.name} is not part of the bundle. Add it to Gemfile.&quot;</span>
98: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
99: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">version_requirement</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>
100: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
101: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">dep</span> <span class="ruby-operator">!~</span> <span class="ruby-identifier">spec</span>
102: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">LoadError</span>.<span class="ruby-identifier">new</span> <span class="ruby-node">&quot;can't activate #{dep}, already activated #{spec.full_name}. &quot;</span> <span class="ruby-value str">&quot;Make sure all dependencies are added to Gemfile.&quot;</span>
103: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
104: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">version_requirement</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>
105: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
106: <span class="ruby-keyword kw">end</span>
107:
108: <span class="ruby-keyword kw">true</span>
109: <span class="ruby-keyword kw">end</span>
110:
111: <span class="ruby-comment cmt"># === Following hacks are to improve on the generated bin wrappers ===</span>
96: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span> }
97:
98: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">nil?</span>
99: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">LoadError</span>.<span class="ruby-identifier">new</span> <span class="ruby-node">&quot;#{dep.name} is not part of the bundle. Add it to Gemfile.&quot;</span>
100: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
101: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">version_requirement</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>
102: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
103: <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">dep</span> <span class="ruby-operator">!~</span> <span class="ruby-identifier">spec</span>
104: <span class="ruby-identifier">e</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">LoadError</span>.<span class="ruby-identifier">new</span> <span class="ruby-node">&quot;can't activate #{dep}, already activated #{spec.full_name}. &quot;</span> <span class="ruby-value str">&quot;Make sure all dependencies are added to Gemfile.&quot;</span>
105: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">name</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">name</span>
106: <span class="ruby-identifier">e</span>.<span class="ruby-identifier">version_requirement</span> = <span class="ruby-identifier">dep</span>.<span class="ruby-identifier">requirement</span>
107: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>
108: <span class="ruby-keyword kw">end</span>
109:
110: <span class="ruby-keyword kw">true</span>
111: <span class="ruby-keyword kw">end</span>
112:
113: <span class="ruby-comment cmt"># Yeah, talk about a hack</span>
114: <span class="ruby-identifier">source_index_class</span> = (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SourceIndex</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>)
115: <span class="ruby-identifier">source_index_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:from_gems_in</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span>*<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
116: <span class="ruby-identifier">source_index</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SourceIndex</span>.<span class="ruby-identifier">new</span>
117: <span class="ruby-identifier">source_index</span>.<span class="ruby-identifier">spec_dirs</span> = *<span class="ruby-identifier">args</span>
118: <span class="ruby-identifier">source_index</span>.<span class="ruby-identifier">add_specs</span>(*<span class="ruby-identifier">specs</span>)
119: <span class="ruby-identifier">source_index</span>
120: <span class="ruby-keyword kw">end</span>
121:
122: <span class="ruby-comment cmt"># OMG more hacks</span>
123: <span class="ruby-identifier">gem_class</span> = (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Gem</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>)
124: <span class="ruby-identifier">gem_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:refresh</span>) { }
125: <span class="ruby-identifier">gem_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:bin_path</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, *<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
126: <span class="ruby-identifier">exec_name</span>, *<span class="ruby-identifier">reqs</span> = <span class="ruby-identifier">args</span>
127:
128: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">exec_name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundle'</span>
129: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_BIN_PATH'</span>]
130: <span class="ruby-keyword kw">end</span>
131:
132: <span class="ruby-identifier">spec</span> = <span class="ruby-keyword kw">nil</span>
133:
134: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">exec_name</span>
135: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">exec_name</span>) }
136: <span class="ruby-identifier">spec</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;can't find executable #{exec_name}&quot;</span>
137: <span class="ruby-keyword kw">else</span>
138: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> }
139: <span class="ruby-identifier">exec_name</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">default_executable</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;no default executable for #{spec.full_name}&quot;</span>
140: <span class="ruby-keyword kw">end</span>
141:
142: <span class="ruby-identifier">gem_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>, <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">bindir</span>, <span class="ruby-identifier">exec_name</span>)
143: <span class="ruby-identifier">gem_from_path_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">loaded_from</span>), <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">bindir</span>, <span class="ruby-identifier">exec_name</span>)
144: <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">gem_bin</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">gem_bin</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">gem_from_path_bin</span>
145: <span class="ruby-keyword kw">end</span>
113: <span class="ruby-comment cmt"># === Following hacks are to improve on the generated bin wrappers ===</span>
114:
115: <span class="ruby-comment cmt"># Yeah, talk about a hack</span>
116: <span class="ruby-identifier">source_index_class</span> = (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SourceIndex</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>)
117: <span class="ruby-identifier">source_index_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:remove_method</span>, <span class="ruby-value">:from_gems_in</span>)
118: <span class="ruby-identifier">source_index_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:from_gems_in</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span>*<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
119: <span class="ruby-identifier">source_index</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SourceIndex</span>.<span class="ruby-identifier">new</span>
120: <span class="ruby-identifier">source_index</span>.<span class="ruby-identifier">spec_dirs</span> = *<span class="ruby-identifier">args</span>
121: <span class="ruby-identifier">source_index</span>.<span class="ruby-identifier">add_specs</span>(*<span class="ruby-identifier">specs</span>)
122: <span class="ruby-identifier">source_index</span>
123: <span class="ruby-keyword kw">end</span>
124:
125: <span class="ruby-comment cmt"># OMG more hacks</span>
126: <span class="ruby-identifier">gem_class</span> = (<span class="ruby-keyword kw">class</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Gem</span> ; <span class="ruby-keyword kw">self</span> ; <span class="ruby-keyword kw">end</span>)
127: <span class="ruby-identifier">gem_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:remove_method</span>, <span class="ruby-value">:refresh</span>)
128: <span class="ruby-identifier">gem_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:refresh</span>) { }
129: <span class="ruby-identifier">gem_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:remove_method</span>, <span class="ruby-value">:bin_path</span>)
130: <span class="ruby-identifier">gem_class</span>.<span class="ruby-identifier">send</span>(<span class="ruby-value">:define_method</span>, <span class="ruby-value">:bin_path</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, *<span class="ruby-identifier">args</span><span class="ruby-operator">|</span>
131: <span class="ruby-identifier">exec_name</span>, *<span class="ruby-identifier">reqs</span> = <span class="ruby-identifier">args</span>
132:
133: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">exec_name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundle'</span>
134: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_BIN_PATH'</span>]
135: <span class="ruby-keyword kw">end</span>
136:
137: <span class="ruby-identifier">spec</span> = <span class="ruby-keyword kw">nil</span>
138:
139: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">exec_name</span>
140: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">exec_name</span>) }
141: <span class="ruby-identifier">spec</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;can't find executable #{exec_name}&quot;</span>
142: <span class="ruby-keyword kw">else</span>
143: <span class="ruby-identifier">spec</span> = <span class="ruby-identifier">specs</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">name</span> }
144: <span class="ruby-identifier">exec_name</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">default_executable</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">raise</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Exception</span>, <span class="ruby-node">&quot;no default executable for #{spec.full_name}&quot;</span>
145: <span class="ruby-keyword kw">end</span>
146:
147: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">clear_paths</span>
148: <span class="ruby-keyword kw">end</span></pre>
147: <span class="ruby-identifier">gem_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>, <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">bindir</span>, <span class="ruby-identifier">exec_name</span>)
148: <span class="ruby-identifier">gem_from_path_bin</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">loaded_from</span>), <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">bindir</span>, <span class="ruby-identifier">exec_name</span>)
149: <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">gem_bin</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">gem_bin</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">gem_from_path_bin</span>
150: <span class="ruby-keyword kw">end</span>
151:
152: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">clear_paths</span>
153: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -625,49 +625,24 @@
<pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 35</span>
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">find_gemfile</span>
36: <span class="ruby-keyword kw">return</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>]
37:
38: <span class="ruby-identifier">previous</span> = <span class="ruby-keyword kw">nil</span>
39: <span class="ruby-identifier">current</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>)
40:
41: <span class="ruby-keyword kw">until</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">current</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">current</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">previous</span>
42: <span class="ruby-identifier">filename</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">current</span>, <span class="ruby-value str">'Gemfile'</span>)
43: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">filename</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">filename</span>)
44: <span class="ruby-identifier">current</span>, <span class="ruby-identifier">previous</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;..&quot;</span>, <span class="ruby-identifier">current</span>), <span class="ruby-identifier">current</span>
45: <span class="ruby-keyword kw">end</span>
46: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="gem-method" class="method-detail ">
<a name="method-i-gem"></a>
<div class="method-heading">
<span class="method-name">gem</span><span
class="method-args">(*)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="gem-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 81</span>
81: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">gem</span>(*) ; <span class="ruby-keyword kw">end</span></pre>
36: <span class="ruby-identifier">given</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_GEMFILE'</span>]
37: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">given</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">given</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">given</span>.<span class="ruby-identifier">empty?</span>
38:
39: <span class="ruby-identifier">previous</span> = <span class="ruby-keyword kw">nil</span>
40: <span class="ruby-identifier">current</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Dir</span>.<span class="ruby-identifier">pwd</span>)
41:
42: <span class="ruby-keyword kw">until</span> <span class="ruby-operator">!</span><span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">current</span>) <span class="ruby-operator">||</span> <span class="ruby-identifier">current</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">previous</span>
43: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'BUNDLE_SPEC_RUN'</span>]
44: <span class="ruby-comment cmt"># avoid stepping above the tmp directory when testing</span>
45: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">nil</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">current</span>, <span class="ruby-value str">'bundler.gemspec'</span>))
46: <span class="ruby-keyword kw">end</span>
47:
48: <span class="ruby-comment cmt"># otherwise return the Gemfile if it's there</span>
49: <span class="ruby-identifier">filename</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">current</span>, <span class="ruby-value str">'Gemfile'</span>)
50: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">filename</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">filename</span>)
51: <span class="ruby-identifier">current</span>, <span class="ruby-identifier">previous</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;..&quot;</span>, <span class="ruby-identifier">current</span>), <span class="ruby-identifier">current</span>
52: <span class="ruby-keyword kw">end</span>
53: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -698,18 +673,18 @@
<div class="method-source-code"
id="reverse-rubygems-kernel-mixin-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 61</span>
61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reverse_rubygems_kernel_mixin</span>
62: <span class="ruby-comment cmt"># Disable rubygems' gem activation system</span>
63: <span class="ruby-operator">::</span><span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
64: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">private_method_defined?</span>(<span class="ruby-value">:gem_original_require</span>)
65: <span class="ruby-keyword kw">alias</span> <span class="ruby-identifier">rubygems_require</span> <span class="ruby-identifier">require</span>
66: <span class="ruby-keyword kw">alias</span> <span class="ruby-identifier">require</span> <span class="ruby-identifier">gem_original_require</span>
67: <span class="ruby-keyword kw">end</span>
68:
69: <span class="ruby-keyword kw">undef</span> <span class="ruby-identifier">gem</span>
70: <span class="ruby-keyword kw">end</span>
71: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/shared_helpers.rb, line 68</span>
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">reverse_rubygems_kernel_mixin</span>
69: <span class="ruby-comment cmt"># Disable rubygems' gem activation system</span>
70: <span class="ruby-operator">::</span><span class="ruby-constant">Kernel</span>.<span class="ruby-identifier">class_eval</span> <span class="ruby-keyword kw">do</span>
71: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">private_method_defined?</span>(<span class="ruby-value">:gem_original_require</span>)
72: <span class="ruby-keyword kw">alias</span> <span class="ruby-identifier">rubygems_require</span> <span class="ruby-identifier">require</span>
73: <span class="ruby-keyword kw">alias</span> <span class="ruby-identifier">require</span> <span class="ruby-identifier">gem_original_require</span>
74: <span class="ruby-keyword kw">end</span>
75:
76: <span class="ruby-keyword kw">undef</span> <span class="ruby-identifier">gem</span>
77: <span class="ruby-keyword kw">end</span>
78: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -129,6 +129,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -257,6 +259,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -129,6 +129,8 @@
<li><a href="../../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -257,6 +259,8 @@
<li><a href="../../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -142,6 +142,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -270,6 +272,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -193,6 +193,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -321,6 +323,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -436,10 +440,10 @@
<div class="method-source-code"
id="from-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 468</span>
468: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_lock</span>(<span class="ruby-identifier">options</span>)
469: <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;uri&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;remote&quot;</span>)))
470: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 476</span>
476: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_lock</span>(<span class="ruby-identifier">options</span>)
477: <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;uri&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;remote&quot;</span>)))
478: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -470,15 +474,19 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 459</span>
459: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
460: <span class="ruby-keyword kw">super</span>
461: <span class="ruby-ivar">@uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;uri&quot;</span>]
462: <span class="ruby-ivar">@ref</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;ref&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;branch&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;tag&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'master'</span>
463: <span class="ruby-ivar">@revision</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;revision&quot;</span>]
464: <span class="ruby-ivar">@submodules</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;submodules&quot;</span>]
465: <span class="ruby-ivar">@update</span> = <span class="ruby-keyword kw">false</span>
466: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 463</span>
463: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
464: <span class="ruby-keyword kw">super</span>
465:
466: <span class="ruby-comment cmt"># stringify options that could be set as symbols</span>
467: <span class="ruby-node">%(ref branch tag revision)</span>.<span class="ruby-identifier">each</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">options</span>[<span class="ruby-identifier">k</span>].<span class="ruby-identifier">to_s</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">k</span>] }
468:
469: <span class="ruby-ivar">@uri</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;uri&quot;</span>]
470: <span class="ruby-ivar">@ref</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;ref&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;branch&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;tag&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-value str">'master'</span>
471: <span class="ruby-ivar">@revision</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;revision&quot;</span>]
472: <span class="ruby-ivar">@submodules</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;submodules&quot;</span>]
473: <span class="ruby-ivar">@update</span> = <span class="ruby-keyword kw">false</span>
474: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -544,15 +552,15 @@
<div class="method-source-code"
id="eql--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 483</span>
483: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">o</span>)
484: <span class="ruby-constant">Git</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">o</span> <span class="ruby-operator">&amp;&amp;</span>
485: <span class="ruby-identifier">uri</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">uri</span> <span class="ruby-operator">&amp;&amp;</span>
486: <span class="ruby-identifier">ref</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">ref</span> <span class="ruby-operator">&amp;&amp;</span>
487: <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span>
488: <span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">&amp;&amp;</span>
489: <span class="ruby-identifier">submodules</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">submodules</span>
490: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 491</span>
491: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">o</span>)
492: <span class="ruby-constant">Git</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">o</span> <span class="ruby-operator">&amp;&amp;</span>
493: <span class="ruby-identifier">uri</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">uri</span> <span class="ruby-operator">&amp;&amp;</span>
494: <span class="ruby-identifier">ref</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">ref</span> <span class="ruby-operator">&amp;&amp;</span>
495: <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span>
496: <span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">version</span> <span class="ruby-operator">&amp;&amp;</span>
497: <span class="ruby-identifier">submodules</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">submodules</span>
498: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -587,17 +595,17 @@
<div class="method-source-code"
id="install-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 530</span>
530: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
531: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Using #{spec.name} (#{spec.version}) from #{to_s} &quot;</span>
532:
533: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@installed</span>
534: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">debug</span> <span class="ruby-node">&quot; * Checking out revision: #{ref}&quot;</span>
535: <span class="ruby-identifier">checkout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span>
536: <span class="ruby-ivar">@installed</span> = <span class="ruby-keyword kw">true</span>
537: <span class="ruby-keyword kw">end</span>
538: <span class="ruby-identifier">generate_bin</span>(<span class="ruby-identifier">spec</span>)
539: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 538</span>
538: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
539: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Using #{spec.name} (#{spec.version}) from #{to_s} &quot;</span>
540:
541: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@installed</span>
542: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">debug</span> <span class="ruby-node">&quot; * Checking out revision: #{ref}&quot;</span>
543: <span class="ruby-identifier">checkout</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span>
544: <span class="ruby-ivar">@installed</span> = <span class="ruby-keyword kw">true</span>
545: <span class="ruby-keyword kw">end</span>
546: <span class="ruby-identifier">generate_bin</span>(<span class="ruby-identifier">spec</span>)
547: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -628,12 +636,12 @@
<div class="method-source-code"
id="load-spec-files-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 541</span>
541: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_spec_files</span>
542: <span class="ruby-keyword kw">super</span>
543: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">PathError</span>, <span class="ruby-constant">GitError</span>
544: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;#{to_s} is not checked out. Please run `bundle install`&quot;</span>
545: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 549</span>
549: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_spec_files</span>
550: <span class="ruby-keyword kw">super</span>
551: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">PathError</span>, <span class="ruby-constant">GitError</span>
552: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;#{to_s} is not checked out. Please run `bundle install`&quot;</span>
553: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -664,10 +672,10 @@
<div class="method-source-code"
id="name-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 499</span>
499: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
500: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-ivar">@uri</span>, <span class="ruby-value str">'.git'</span>)
501: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 507</span>
507: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
508: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-ivar">@uri</span>, <span class="ruby-value str">'.git'</span>)
509: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -698,18 +706,18 @@
<div class="method-source-code"
id="path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 503</span>
503: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path</span>
504: <span class="ruby-ivar">@install_path</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
505: <span class="ruby-identifier">git_scope</span> = <span class="ruby-node">&quot;#{base_name}-#{shortref_for_path(revision)}&quot;</span>
506:
507: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
508: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">user_bundle_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ruby_scope</span>).<span class="ruby-identifier">join</span>(<span class="ruby-identifier">git_scope</span>)
509: <span class="ruby-keyword kw">else</span>
510: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">install_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">git_scope</span>)
511: <span class="ruby-keyword kw">end</span>
512: <span class="ruby-keyword kw">end</span>
513: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 511</span>
511: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">path</span>
512: <span class="ruby-ivar">@install_path</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
513: <span class="ruby-identifier">git_scope</span> = <span class="ruby-node">&quot;#{base_name}-#{shortref_for_path(revision)}&quot;</span>
514:
515: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
516: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">user_bundle_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ruby_scope</span>).<span class="ruby-identifier">join</span>(<span class="ruby-identifier">git_scope</span>)
517: <span class="ruby-keyword kw">else</span>
518: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">install_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">git_scope</span>)
519: <span class="ruby-keyword kw">end</span>
520: <span class="ruby-keyword kw">end</span>
521: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -742,16 +750,16 @@ TODO: actually cache git specs
<div class="method-source-code"
id="specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 520</span>
520: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
521: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@update</span>
522: <span class="ruby-comment cmt"># Start by making sure the git cache is up to date</span>
523: <span class="ruby-identifier">cache</span>
524: <span class="ruby-identifier">checkout</span>
525: <span class="ruby-ivar">@update</span> = <span class="ruby-keyword kw">true</span>
526: <span class="ruby-keyword kw">end</span>
527: <span class="ruby-identifier">local_specs</span>
528: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 528</span>
528: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
529: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@update</span>
530: <span class="ruby-comment cmt"># Start by making sure the git cache is up to date</span>
531: <span class="ruby-identifier">cache</span>
532: <span class="ruby-identifier">checkout</span>
533: <span class="ruby-ivar">@update</span> = <span class="ruby-keyword kw">true</span>
534: <span class="ruby-keyword kw">end</span>
535: <span class="ruby-identifier">local_specs</span>
536: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -782,17 +790,17 @@ TODO: actually cache git specs
<div class="method-source-code"
id="to-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 472</span>
472: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
473: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;GIT\n&quot;</span>
474: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; remote: #{@uri}\n&quot;</span>
475: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; revision: #{revision}\n&quot;</span>
476: <span class="ruby-node">%(ref branch tag submodules)</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opt</span><span class="ruby-operator">|</span>
477: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{opt}: #{options[opt]}\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">opt</span>]
478: <span class="ruby-keyword kw">end</span>
479: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; glob: #{@glob}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@glob</span> <span class="ruby-operator">==</span> <span class="ruby-constant">DEFAULT_GLOB</span>
480: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; specs:\n&quot;</span>
481: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 480</span>
480: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
481: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;GIT\n&quot;</span>
482: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; remote: #{@uri}\n&quot;</span>
483: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; revision: #{revision}\n&quot;</span>
484: <span class="ruby-node">%(ref branch tag submodules)</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opt</span><span class="ruby-operator">|</span>
485: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; #{opt}: #{options[opt]}\n&quot;</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">opt</span>]
486: <span class="ruby-keyword kw">end</span>
487: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; glob: #{@glob}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@glob</span> <span class="ruby-operator">==</span> <span class="ruby-constant">DEFAULT_GLOB</span>
488: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; specs:\n&quot;</span>
489: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -823,11 +831,11 @@ TODO: actually cache git specs
<div class="method-source-code"
id="to-s-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 494</span>
494: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
495: <span class="ruby-identifier">ref</span> = <span class="ruby-ivar">@options</span>[<span class="ruby-value str">&quot;ref&quot;</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">shortref_for_display</span>(<span class="ruby-ivar">@options</span>[<span class="ruby-value str">&quot;ref&quot;</span>]) <span class="ruby-operator">:</span> <span class="ruby-ivar">@ref</span>
496: <span class="ruby-node">&quot;#{@uri} (at #{ref})&quot;</span>
497: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 502</span>
502: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
503: <span class="ruby-identifier">sref</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;ref&quot;</span>] <span class="ruby-operator">?</span> <span class="ruby-identifier">shortref_for_display</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;ref&quot;</span>]) <span class="ruby-operator">:</span> <span class="ruby-identifier">ref</span>
504: <span class="ruby-node">&quot;#{uri} (at #{sref})&quot;</span>
505: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -858,10 +866,10 @@ TODO: actually cache git specs
<div class="method-source-code"
id="unlock--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 515</span>
515: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock!</span>
516: <span class="ruby-ivar">@revision</span> = <span class="ruby-keyword kw">nil</span>
517: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 523</span>
523: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">unlock!</span>
524: <span class="ruby-ivar">@revision</span> = <span class="ruby-keyword kw">nil</span>
525: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -898,10 +906,10 @@ TODO: actually cache git specs
<div class="method-source-code"
id="allow-git-ops--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 636</span>
636: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allow_git_ops?</span>
637: <span class="ruby-ivar">@allow_remote</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@allow_cached</span>
638: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 647</span>
647: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">allow_git_ops?</span>
648: <span class="ruby-ivar">@allow_remote</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@allow_cached</span>
649: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -932,10 +940,10 @@ TODO: actually cache git specs
<div class="method-source-code"
id="base-name-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 564</span>
564: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">base_name</span>
565: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">%{^(\w+://)?([^/:]+:)}</span>,<span class="ruby-value str">''</span>), <span class="ruby-value str">&quot;.git&quot;</span>)
566: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 572</span>
572: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">base_name</span>
573: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-identifier">uri</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">%{^(\w+://)?([^/:]+:)}</span>,<span class="ruby-value str">''</span>), <span class="ruby-value str">&quot;.git&quot;</span>)
574: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -966,18 +974,20 @@ TODO: actually cache git specs
<div class="method-source-code"
id="cache-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 600</span>
600: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>
601: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cached?</span>
602: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">has_revision_cached?</span>
603: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Updating #{uri}&quot;</span>
604: <span class="ruby-identifier">in_cache</span> { <span class="ruby-identifier">git</span> <span class="ruby-node">%fetch --force --quiet &quot;#{uri}&quot; refs/heads/*:refs/heads/*|</span> }
605: <span class="ruby-keyword kw">else</span>
606: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Fetching #{uri}&quot;</span>
607: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">cache_path</span>.<span class="ruby-identifier">dirname</span>)
608: <span class="ruby-identifier">git</span> <span class="ruby-node">%clone &quot;#{uri}&quot; &quot;#{cache_path}&quot; --bare --no-hardlinks|</span>
609: <span class="ruby-keyword kw">end</span>
610: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 608</span>
608: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>
609: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">cached?</span>
610: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">has_revision_cached?</span>
611: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Updating #{uri}&quot;</span>
612: <span class="ruby-identifier">in_cache</span> <span class="ruby-keyword kw">do</span>
613: <span class="ruby-identifier">git</span> <span class="ruby-node">%fetch --force --quiet --tags &quot;#{uri}&quot; refs/heads/*:refs/heads/*|</span>
614: <span class="ruby-keyword kw">end</span>
615: <span class="ruby-keyword kw">else</span>
616: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Fetching #{uri}&quot;</span>
617: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">cache_path</span>.<span class="ruby-identifier">dirname</span>)
618: <span class="ruby-identifier">git</span> <span class="ruby-node">%clone &quot;#{uri}&quot; &quot;#{cache_path}&quot; --bare --no-hardlinks|</span>
619: <span class="ruby-keyword kw">end</span>
620: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1008,18 +1018,18 @@ TODO: actually cache git specs
<div class="method-source-code"
id="cache-path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 588</span>
588: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache_path</span>
589: <span class="ruby-ivar">@cache_path</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
590: <span class="ruby-identifier">git_scope</span> = <span class="ruby-node">&quot;#{base_name}-#{uri_hash}&quot;</span>
591:
592: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
593: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">user_bundle_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;cache/git&quot;</span>, <span class="ruby-identifier">git_scope</span>)
594: <span class="ruby-keyword kw">else</span>
595: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">cache</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;git&quot;</span>, <span class="ruby-identifier">git_scope</span>)
596: <span class="ruby-keyword kw">end</span>
597: <span class="ruby-keyword kw">end</span>
598: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 596</span>
596: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache_path</span>
597: <span class="ruby-ivar">@cache_path</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
598: <span class="ruby-identifier">git_scope</span> = <span class="ruby-node">&quot;#{base_name}-#{uri_hash}&quot;</span>
599:
600: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
601: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">user_bundle_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;cache/git&quot;</span>, <span class="ruby-identifier">git_scope</span>)
602: <span class="ruby-keyword kw">else</span>
603: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">cache</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;git&quot;</span>, <span class="ruby-identifier">git_scope</span>)
604: <span class="ruby-keyword kw">end</span>
605: <span class="ruby-keyword kw">end</span>
606: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1050,10 +1060,10 @@ TODO: actually cache git specs
<div class="method-source-code"
id="cached--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 650</span>
650: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached?</span>
651: <span class="ruby-identifier">cache_path</span>.<span class="ruby-identifier">exist?</span>
652: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 661</span>
661: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached?</span>
662: <span class="ruby-identifier">cache_path</span>.<span class="ruby-identifier">exist?</span>
663: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1084,22 +1094,23 @@ TODO: actually cache git specs
<div class="method-source-code"
id="checkout-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 612</span>
612: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkout</span>
613: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;.git&quot;</span>))
614: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">dirname</span>)
615: <span class="ruby-identifier">git</span> <span class="ruby-node">%clone --no-checkout &quot;#{cache_path}&quot; &quot;#{path}&quot;|</span>
616: <span class="ruby-keyword kw">end</span>
617: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">path</span>) <span class="ruby-keyword kw">do</span>
618: <span class="ruby-identifier">git</span> <span class="ruby-node">%fetch --force --quiet &quot;#{cache_path}&quot;|</span>
619: <span class="ruby-identifier">git</span> <span class="ruby-node">&quot;reset --hard #{revision}&quot;</span>
620:
621: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@submodules</span>
622: <span class="ruby-identifier">git</span> <span class="ruby-value str">&quot;submodule init&quot;</span>
623: <span class="ruby-identifier">git</span> <span class="ruby-value str">&quot;submodule update&quot;</span>
624: <span class="ruby-keyword kw">end</span>
625: <span class="ruby-keyword kw">end</span>
626: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 622</span>
622: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">checkout</span>
623: <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;.git&quot;</span>))
624: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-identifier">path</span>.<span class="ruby-identifier">dirname</span>)
625: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-identifier">path</span>)
626: <span class="ruby-identifier">git</span> <span class="ruby-node">%clone --no-checkout &quot;#{cache_path}&quot; &quot;#{path}&quot;|</span>
627: <span class="ruby-keyword kw">end</span>
628: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">path</span>) <span class="ruby-keyword kw">do</span>
629: <span class="ruby-identifier">git</span> <span class="ruby-node">%fetch --force --quiet --tags &quot;#{cache_path}&quot;|</span>
630: <span class="ruby-identifier">git</span> <span class="ruby-node">&quot;reset --hard #{revision}&quot;</span>
631:
632: <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@submodules</span>
633: <span class="ruby-identifier">git</span> <span class="ruby-value str">&quot;submodule init&quot;</span>
634: <span class="ruby-identifier">git</span> <span class="ruby-value str">&quot;submodule update&quot;</span>
635: <span class="ruby-keyword kw">end</span>
636: <span class="ruby-keyword kw">end</span>
637: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1130,19 +1141,19 @@ TODO: actually cache git specs
<div class="method-source-code"
id="git-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 549</span>
549: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">git</span>(<span class="ruby-identifier">command</span>)
550: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span>
551: <span class="ruby-identifier">out</span> = <span class="ruby-node">%{git #{command}}</span>
552:
553: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$?</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
554: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;An error has occurred in git when running `git #{command}. Cannot complete bundling.&quot;</span>
555: <span class="ruby-keyword kw">end</span>
556: <span class="ruby-identifier">out</span>
557: <span class="ruby-keyword kw">else</span>
558: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, &quot;</span> <span class="ruby-value str">&quot;this error message could probably be more useful. Please submit a ticket at http://github.com/carlhuda/bundler/issues &quot;</span> <span class="ruby-node">&quot;with steps to reproduce as well as the following\n\nCALLER: #{caller.join(&quot;\n&quot;)}&quot;</span>
559: <span class="ruby-keyword kw">end</span>
560: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 557</span>
557: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">git</span>(<span class="ruby-identifier">command</span>)
558: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span>
559: <span class="ruby-identifier">out</span> = <span class="ruby-node">%{git #{command}}</span>
560:
561: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">$?</span> <span class="ruby-operator">!=</span> <span class="ruby-value">0</span>
562: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;An error has occurred in git when running `git #{command}`. Cannot complete bundling.&quot;</span>
563: <span class="ruby-keyword kw">end</span>
564: <span class="ruby-identifier">out</span>
565: <span class="ruby-keyword kw">else</span>
566: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;Bundler is trying to run a `git #{command}` at runtime. You probably need to run `bundle install`. However, &quot;</span> <span class="ruby-value str">&quot;this error message could probably be more useful. Please submit a ticket at http://github.com/carlhuda/bundler/issues &quot;</span> <span class="ruby-node">&quot;with steps to reproduce as well as the following\n\nCALLER: #{caller.join(&quot;\n&quot;)}&quot;</span>
567: <span class="ruby-keyword kw">end</span>
568: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1173,14 +1184,14 @@ TODO: actually cache git specs
<div class="method-source-code"
id="has-revision-cached--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 628</span>
628: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_revision_cached?</span>
629: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@revision</span>
630: <span class="ruby-identifier">in_cache</span> { <span class="ruby-identifier">git</span> <span class="ruby-node">%cat-file -e #{@revision}|</span> }
631: <span class="ruby-keyword kw">true</span>
632: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GitError</span>
633: <span class="ruby-keyword kw">false</span>
634: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 639</span>
639: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">has_revision_cached?</span>
640: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@revision</span>
641: <span class="ruby-identifier">in_cache</span> { <span class="ruby-identifier">git</span> <span class="ruby-node">%cat-file -e #{@revision}|</span> }
642: <span class="ruby-keyword kw">true</span>
643: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">GitError</span>
644: <span class="ruby-keyword kw">false</span>
645: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1211,11 +1222,11 @@ TODO: actually cache git specs
<div class="method-source-code"
id="in-cache-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 654</span>
654: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">in_cache</span>(&amp;<span class="ruby-identifier">blk</span>)
655: <span class="ruby-identifier">cache</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cached?</span>
656: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">cache_path</span>, &amp;<span class="ruby-identifier">blk</span>)
657: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 665</span>
665: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">in_cache</span>(&amp;<span class="ruby-identifier">blk</span>)
666: <span class="ruby-identifier">cache</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cached?</span>
667: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">cache_path</span>, &amp;<span class="ruby-identifier">blk</span>)
668: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1246,16 +1257,16 @@ TODO: actually cache git specs
<div class="method-source-code"
id="revision-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 640</span>
640: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revision</span>
641: <span class="ruby-ivar">@revision</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
642: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span>
643: <span class="ruby-identifier">in_cache</span> { <span class="ruby-identifier">git</span>(<span class="ruby-node">&quot;rev-parse #{ref}&quot;</span>).<span class="ruby-identifier">strip</span> }
644: <span class="ruby-keyword kw">else</span>
645: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application&quot;</span>
646: <span class="ruby-keyword kw">end</span>
647: <span class="ruby-keyword kw">end</span>
648: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 651</span>
651: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">revision</span>
652: <span class="ruby-ivar">@revision</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
653: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">allow_git_ops?</span>
654: <span class="ruby-identifier">in_cache</span> { <span class="ruby-identifier">git</span>(<span class="ruby-node">&quot;rev-parse #{ref}&quot;</span>).<span class="ruby-identifier">strip</span> }
655: <span class="ruby-keyword kw">else</span>
656: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GitError</span>, <span class="ruby-node">&quot;The git source #{uri} is not yet checked out. Please run `bundle install` before trying to start your application&quot;</span>
657: <span class="ruby-keyword kw">end</span>
658: <span class="ruby-keyword kw">end</span>
659: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1286,10 +1297,10 @@ TODO: actually cache git specs
<div class="method-source-code"
id="shortref-for-display-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 568</span>
568: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortref_for_display</span>(<span class="ruby-identifier">ref</span>)
569: <span class="ruby-identifier">ref</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">6</span>]
570: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 576</span>
576: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortref_for_display</span>(<span class="ruby-identifier">ref</span>)
577: <span class="ruby-identifier">ref</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">6</span>]
578: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1320,10 +1331,10 @@ TODO: actually cache git specs
<div class="method-source-code"
id="shortref-for-path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 572</span>
572: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortref_for_path</span>(<span class="ruby-identifier">ref</span>)
573: <span class="ruby-identifier">ref</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">11</span>]
574: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 580</span>
580: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">shortref_for_path</span>(<span class="ruby-identifier">ref</span>)
581: <span class="ruby-identifier">ref</span>[<span class="ruby-value">0</span><span class="ruby-operator">..</span><span class="ruby-value">11</span>]
582: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1354,18 +1365,18 @@ TODO: actually cache git specs
<div class="method-source-code"
id="uri-hash-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 576</span>
576: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">uri_hash</span>
577: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">%{^\w+://(\w+@)?}</span>
578: <span class="ruby-comment cmt"># Downcase the domain component of the URI</span>
579: <span class="ruby-comment cmt"># and strip off a trailing slash, if one is present</span>
580: <span class="ruby-identifier">input</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>).<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">%{/$}</span>,<span class="ruby-value str">''</span>)
581: <span class="ruby-keyword kw">else</span>
582: <span class="ruby-comment cmt"># If there is no URI scheme, assume it is an ssh/git URI</span>
583: <span class="ruby-identifier">input</span> = <span class="ruby-identifier">uri</span>
584: <span class="ruby-keyword kw">end</span>
585: <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">input</span>)
586: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 584</span>
584: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">uri_hash</span>
585: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">%{^\w+://(\w+@)?}</span>
586: <span class="ruby-comment cmt"># Downcase the domain component of the URI</span>
587: <span class="ruby-comment cmt"># and strip off a trailing slash, if one is present</span>
588: <span class="ruby-identifier">input</span> = <span class="ruby-constant">URI</span>.<span class="ruby-identifier">parse</span>(<span class="ruby-identifier">uri</span>).<span class="ruby-identifier">normalize</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">sub</span>(<span class="ruby-regexp re">%{/$}</span>,<span class="ruby-value str">''</span>)
589: <span class="ruby-keyword kw">else</span>
590: <span class="ruby-comment cmt"># If there is no URI scheme, assume it is an ssh/git URI</span>
591: <span class="ruby-identifier">input</span> = <span class="ruby-identifier">uri</span>
592: <span class="ruby-keyword kw">end</span>
593: <span class="ruby-constant">Digest</span><span class="ruby-operator">::</span><span class="ruby-constant">SHA1</span>.<span class="ruby-identifier">hexdigest</span>(<span class="ruby-identifier">input</span>)
594: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -186,6 +186,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -314,6 +316,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -447,10 +451,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="from-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 295</span>
295: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_lock</span>(<span class="ruby-identifier">options</span>)
296: <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;remote&quot;</span>)))
297: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 297</span>
297: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_lock</span>(<span class="ruby-identifier">options</span>)
298: <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge</span>(<span class="ruby-value str">&quot;path&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">options</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-value str">&quot;remote&quot;</span>)))
299: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -481,21 +485,22 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 272</span>
272: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
273: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
274: <span class="ruby-ivar">@glob</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;glob&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">DEFAULT_GLOB</span>
275:
276: <span class="ruby-ivar">@allow_cached</span> = <span class="ruby-keyword kw">false</span>
277: <span class="ruby-ivar">@allow_remote</span> = <span class="ruby-keyword kw">false</span>
278:
279: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;path&quot;</span>]
280: <span class="ruby-ivar">@path</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;path&quot;</span>]).<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>)
281: <span class="ruby-keyword kw">end</span>
282:
283: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;name&quot;</span>]
284: <span class="ruby-ivar">@version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;version&quot;</span>]
285: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 273</span>
273: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span>)
274: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
275: <span class="ruby-ivar">@glob</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;glob&quot;</span>] <span class="ruby-operator">||</span> <span class="ruby-constant">DEFAULT_GLOB</span>
276:
277: <span class="ruby-ivar">@allow_cached</span> = <span class="ruby-keyword kw">false</span>
278: <span class="ruby-ivar">@allow_remote</span> = <span class="ruby-keyword kw">false</span>
279:
280: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;path&quot;</span>]
281: <span class="ruby-ivar">@path</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;path&quot;</span>])
282: <span class="ruby-ivar">@path</span> = <span class="ruby-ivar">@path</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@path</span>.<span class="ruby-identifier">relative?</span>
283: <span class="ruby-keyword kw">end</span>
284:
285: <span class="ruby-ivar">@name</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;name&quot;</span>]
286: <span class="ruby-ivar">@version</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;version&quot;</span>]
287: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -561,12 +566,12 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="cache-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 403</span>
403: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>(<span class="ruby-identifier">spec</span>)
404: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">index</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
405: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot; * #{spec.name} at `#{path}` will not be cached.&quot;</span>
406: <span class="ruby-keyword kw">end</span>
407: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 407</span>
407: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>(<span class="ruby-identifier">spec</span>)
408: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>).<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">index</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">to_s</span>) <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
409: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot; * #{spec.name} at `#{path}` will not be cached.&quot;</span>
410: <span class="ruby-keyword kw">end</span>
411: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -597,10 +602,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="cached--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 291</span>
291: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached!</span>
292: <span class="ruby-ivar">@allow_cached</span> = <span class="ruby-keyword kw">true</span>
293: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 293</span>
293: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached!</span>
294: <span class="ruby-ivar">@allow_cached</span> = <span class="ruby-keyword kw">true</span>
295: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -631,13 +636,13 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="eql--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 314</span>
314: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">o</span>)
315: <span class="ruby-identifier">o</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Path</span>) <span class="ruby-operator">&amp;&amp;</span>
316: <span class="ruby-identifier">path</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">path</span> <span class="ruby-operator">&amp;&amp;</span>
317: <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span>
318: <span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">version</span>
319: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 316</span>
316: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">o</span>)
317: <span class="ruby-identifier">o</span>.<span class="ruby-identifier">instance_of?</span>(<span class="ruby-constant">Path</span>) <span class="ruby-operator">&amp;&amp;</span>
318: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>) <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>) <span class="ruby-operator">&amp;&amp;</span>
319: <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">&amp;&amp;</span>
320: <span class="ruby-identifier">version</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">o</span>.<span class="ruby-identifier">version</span>
321: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -672,10 +677,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="hash-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 310</span>
310: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
311: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">hash</span>
312: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 312</span>
312: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
313: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">hash</span>
314: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -706,16 +711,16 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="install-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 391</span>
391: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
392: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Using #{spec.name} (#{spec.version}) from #{to_s} &quot;</span>
393: <span class="ruby-comment cmt"># Let's be honest, when we're working from a path, we can't</span>
394: <span class="ruby-comment cmt"># really expect native extensions to work because the whole point</span>
395: <span class="ruby-comment cmt"># is to just be able to modify what's in that path and go. So, let's</span>
396: <span class="ruby-comment cmt"># not put ourselves through the pain of actually trying to generate</span>
397: <span class="ruby-comment cmt"># the full gem.</span>
398: <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>).<span class="ruby-identifier">generate_bin</span>
399: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 395</span>
395: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
396: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Using #{spec.name} (#{spec.version}) from #{to_s} &quot;</span>
397: <span class="ruby-comment cmt"># Let's be honest, when we're working from a path, we can't</span>
398: <span class="ruby-comment cmt"># really expect native extensions to work because the whole point</span>
399: <span class="ruby-comment cmt"># is to just be able to modify what's in that path and go. So, let's</span>
400: <span class="ruby-comment cmt"># not put ourselves through the pain of actually trying to generate</span>
401: <span class="ruby-comment cmt"># the full gem.</span>
402: <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>).<span class="ruby-identifier">generate_bin</span>
403: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -746,40 +751,42 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="load-spec-files-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 327</span>
327: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_spec_files</span>
328: <span class="ruby-identifier">index</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
329:
330: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">path</span>)
331: <span class="ruby-constant">Dir</span>[<span class="ruby-node">&quot;#{path}/#{@glob}&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
332: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load_gemspec</span>(<span class="ruby-identifier">file</span>)
333: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>
334: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">loaded_from</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">to_s</span>
335: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
336: <span class="ruby-identifier">index</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
337: <span class="ruby-keyword kw">end</span>
338: <span class="ruby-keyword kw">end</span>
339:
340: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@version</span>
341: <span class="ruby-identifier">index</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
342: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> = <span class="ruby-ivar">@name</span>
343: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
344: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Version</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@version</span>)
345: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
346: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">summary</span> = <span class="ruby-node">&quot;Fake gemspec for #{@name}&quot;</span>
347: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">relative_loaded_from</span> = <span class="ruby-node">&quot;#{@name}.gemspec&quot;</span>
348: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;bin&quot;</span>).<span class="ruby-identifier">exist?</span>
349: <span class="ruby-identifier">binaries</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;bin&quot;</span>).<span class="ruby-identifier">children</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">basename</span>.<span class="ruby-identifier">to_s</span> }
350: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span> = <span class="ruby-identifier">binaries</span>
351: <span class="ruby-keyword kw">end</span>
352: <span class="ruby-keyword kw">end</span>
353: <span class="ruby-keyword kw">end</span>
354: <span class="ruby-keyword kw">else</span>
355: <span class="ruby-identifier">raise</span> <span class="ruby-constant">PathError</span>, <span class="ruby-node">&quot;The path `#{path}` does not exist.&quot;</span>
356: <span class="ruby-keyword kw">end</span>
357:
358: <span class="ruby-identifier">index</span>
359: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 329</span>
329: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">load_spec_files</span>
330: <span class="ruby-identifier">index</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
331:
332: <span class="ruby-identifier">expanded_path</span> = <span class="ruby-identifier">path</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>)
333:
334: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">expanded_path</span>)
335: <span class="ruby-constant">Dir</span>[<span class="ruby-node">&quot;#{expanded_path}/#{@glob}&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">file</span><span class="ruby-operator">|</span>
336: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">load_gemspec</span>(<span class="ruby-identifier">file</span>)
337: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>
338: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">loaded_from</span> = <span class="ruby-identifier">file</span>.<span class="ruby-identifier">to_s</span>
339: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
340: <span class="ruby-identifier">index</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
341: <span class="ruby-keyword kw">end</span>
342: <span class="ruby-keyword kw">end</span>
343:
344: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">index</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@name</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-ivar">@version</span>
345: <span class="ruby-identifier">index</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
346: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> = <span class="ruby-ivar">@name</span>
347: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
348: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Version</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@version</span>)
349: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
350: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">summary</span> = <span class="ruby-node">&quot;Fake gemspec for #{@name}&quot;</span>
351: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">relative_loaded_from</span> = <span class="ruby-node">&quot;#{@name}.gemspec&quot;</span>
352: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">expanded_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;bin&quot;</span>).<span class="ruby-identifier">exist?</span>
353: <span class="ruby-identifier">binaries</span> = <span class="ruby-identifier">expanded_path</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">&quot;bin&quot;</span>).<span class="ruby-identifier">children</span>.<span class="ruby-identifier">map</span>{<span class="ruby-operator">|</span><span class="ruby-identifier">c</span><span class="ruby-operator">|</span> <span class="ruby-identifier">c</span>.<span class="ruby-identifier">basename</span>.<span class="ruby-identifier">to_s</span> }
354: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">executables</span> = <span class="ruby-identifier">binaries</span>
355: <span class="ruby-keyword kw">end</span>
356: <span class="ruby-keyword kw">end</span>
357: <span class="ruby-keyword kw">end</span>
358: <span class="ruby-keyword kw">else</span>
359: <span class="ruby-identifier">raise</span> <span class="ruby-constant">PathError</span>, <span class="ruby-node">&quot;The path `#{expanded_path}` does not exist.&quot;</span>
360: <span class="ruby-keyword kw">end</span>
361:
362: <span class="ruby-identifier">index</span>
363: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -810,10 +817,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="local-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 361</span>
361: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">local_specs</span>
362: <span class="ruby-ivar">@local_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">load_spec_files</span>
363: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 365</span>
365: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">local_specs</span>
366: <span class="ruby-ivar">@local_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">load_spec_files</span>
367: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -848,10 +855,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="name-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 323</span>
323: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
324: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-ivar">@path</span>.<span class="ruby-identifier">to_s</span>)
325: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 325</span>
325: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
326: <span class="ruby-constant">File</span>.<span class="ruby-identifier">basename</span>(<span class="ruby-ivar">@path</span>.<span class="ruby-identifier">to_s</span>)
327: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -882,10 +889,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="remote--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 287</span>
287: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote!</span>
288: <span class="ruby-ivar">@allow_remote</span> = <span class="ruby-keyword kw">true</span>
289: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 289</span>
289: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote!</span>
290: <span class="ruby-ivar">@allow_remote</span> = <span class="ruby-keyword kw">true</span>
291: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -945,13 +952,13 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="to-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 299</span>
299: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
300: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;PATH\n&quot;</span>
301: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; remote: #{relative_path}\n&quot;</span>
302: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; glob: #{@glob}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@glob</span> <span class="ruby-operator">==</span> <span class="ruby-constant">DEFAULT_GLOB</span>
303: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; specs:\n&quot;</span>
304: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 301</span>
301: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
302: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;PATH\n&quot;</span>
303: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; remote: #{relative_path}\n&quot;</span>
304: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-node">&quot; glob: #{@glob}\n&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@glob</span> <span class="ruby-operator">==</span> <span class="ruby-constant">DEFAULT_GLOB</span>
305: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; specs:\n&quot;</span>
306: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -982,10 +989,10 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="to-s-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 306</span>
306: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
307: <span class="ruby-node">&quot;source at #{@path}&quot;</span>
308: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 308</span>
308: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
309: <span class="ruby-node">&quot;source at #{@path}&quot;</span>
310: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1022,37 +1029,37 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="generate-bin-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 419</span>
419: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_bin</span>(<span class="ruby-identifier">spec</span>)
420: <span class="ruby-identifier">gem_dir</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>)
421:
422: <span class="ruby-comment cmt"># Some gem authors put absolute paths in their gemspec</span>
423: <span class="ruby-comment cmt"># and we have to save them from themselves</span>
424: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">files</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
425: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">p</span>)
426: <span class="ruby-keyword kw">begin</span>
427: <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">p</span>).<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-identifier">gem_dir</span>).<span class="ruby-identifier">to_s</span>
428: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>
429: <span class="ruby-identifier">p</span>
430: <span class="ruby-keyword kw">end</span>
431: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">compact</span>
432:
433: <span class="ruby-identifier">gem_file</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">gem_dir</span>){ <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>).<span class="ruby-identifier">build</span> }
434:
435: <span class="ruby-identifier">installer</span> = <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-value">:env_shebang</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
436: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">build_extensions</span>
437: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">generate_bin</span>
438: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidSpecificationException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
439: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;\n#{spec.name} at #{spec.full_gem_path} did not have a valid gemspec.\n&quot;</span> <span class="ruby-value str">&quot;This prevents bundler from installing bins or native extensions, but &quot;</span> <span class="ruby-value str">&quot;that may not affect its functionality.&quot;</span>
440:
441: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">spec</span>.<span class="ruby-identifier">extensions</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">spec</span>.<span class="ruby-identifier">email</span>.<span class="ruby-identifier">empty?</span>
442: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;If you need to use this package without installing it from a gem &quot;</span> <span class="ruby-node">&quot;repository, please contact #{spec.email} and ask them &quot;</span> <span class="ruby-value str">&quot;to modify their .gemspec so it can work with `gem build`.&quot;</span>
443: <span class="ruby-keyword kw">end</span>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 423</span>
423: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_bin</span>(<span class="ruby-identifier">spec</span>)
424: <span class="ruby-identifier">gem_dir</span> = <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>)
425:
426: <span class="ruby-comment cmt"># Some gem authors put absolute paths in their gemspec</span>
427: <span class="ruby-comment cmt"># and we have to save them from themselves</span>
428: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">files</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">files</span>.<span class="ruby-identifier">map</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
429: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">directory?</span>(<span class="ruby-identifier">p</span>)
430: <span class="ruby-keyword kw">begin</span>
431: <span class="ruby-constant">Pathname</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">p</span>).<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-identifier">gem_dir</span>).<span class="ruby-identifier">to_s</span>
432: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ArgumentError</span>
433: <span class="ruby-identifier">p</span>
434: <span class="ruby-keyword kw">end</span>
435: <span class="ruby-keyword kw">end</span>.<span class="ruby-identifier">compact</span>
436:
437: <span class="ruby-identifier">gem_file</span> = <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">gem_dir</span>){ <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Builder</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>).<span class="ruby-identifier">build</span> }
438:
439: <span class="ruby-identifier">installer</span> = <span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-value">:env_shebang</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">false</span>)
440: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">build_extensions</span>
441: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">generate_bin</span>
442: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">InvalidSpecificationException</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">e</span>
443: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;\n#{spec.name} at #{spec.full_gem_path} did not have a valid gemspec.\n&quot;</span> <span class="ruby-value str">&quot;This prevents bundler from installing bins or native extensions, but &quot;</span> <span class="ruby-value str">&quot;that may not affect its functionality.&quot;</span>
444:
445: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;The validation message from Rubygems was:\n #{e.message}&quot;</span>
446: <span class="ruby-keyword kw">ensure</span>
447: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">gem_dir</span>){ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-identifier">gem_file</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_file</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">gem_file</span>) }
448: <span class="ruby-keyword kw">end</span></pre>
445: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-identifier">spec</span>.<span class="ruby-identifier">extensions</span>.<span class="ruby-identifier">empty?</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-identifier">spec</span>.<span class="ruby-identifier">email</span>.<span class="ruby-identifier">empty?</span>
446: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-value str">&quot;If you need to use this package without installing it from a gem &quot;</span> <span class="ruby-node">&quot;repository, please contact #{spec.email} and ask them &quot;</span> <span class="ruby-value str">&quot;to modify their .gemspec so it can work with `gem build`.&quot;</span>
447: <span class="ruby-keyword kw">end</span>
448:
449: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;The validation message from Rubygems was:\n #{e.message}&quot;</span>
450: <span class="ruby-keyword kw">ensure</span>
451: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>(<span class="ruby-identifier">gem_dir</span>){ <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">rm_rf</span>(<span class="ruby-identifier">gem_file</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gem_file</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">gem_file</span>) }
452: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1083,14 +1090,14 @@ Kind of a hack, but needed for the lock file parser
<div class="method-source-code"
id="relative-path-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 411</span>
411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">relative_path</span>
412: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">to_s</span>)
413: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>)
414: <span class="ruby-keyword kw">end</span>
415:
416: <span class="ruby-identifier">path</span>
417: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 415</span>
415: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">relative_path</span>
416: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>.<span class="ruby-identifier">to_s</span>)
417: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">relative_path_from</span>(<span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">root</span>)
418: <span class="ruby-keyword kw">end</span>
419:
420: <span class="ruby-identifier">path</span>
421: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -147,6 +147,8 @@
<li><a href="../../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -275,6 +277,8 @@
<li><a href="../../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -324,15 +328,15 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 366</span>
366: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">options</span> = {})
367: <span class="ruby-ivar">@spec</span> = <span class="ruby-identifier">spec</span>
368: <span class="ruby-ivar">@bin_dir</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{Bundler.tmp}/bin&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;#{Gem.dir}/bin&quot;</span>
369: <span class="ruby-ivar">@gem_dir</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>
370: <span class="ruby-ivar">@wrappers</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wrappers</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">true</span>
371: <span class="ruby-ivar">@env_shebang</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:env_shebang</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">true</span>
372: <span class="ruby-ivar">@format_executable</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:format_executable</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
373: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 370</span>
370: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">options</span> = {})
371: <span class="ruby-ivar">@spec</span> = <span class="ruby-identifier">spec</span>
372: <span class="ruby-ivar">@bin_dir</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span> <span class="ruby-operator">?</span> <span class="ruby-node">&quot;#{Bundler.tmp}/bin&quot;</span> <span class="ruby-operator">:</span> <span class="ruby-node">&quot;#{Gem.dir}/bin&quot;</span>
373: <span class="ruby-ivar">@gem_dir</span> = <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_gem_path</span>
374: <span class="ruby-ivar">@wrappers</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:wrappers</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">true</span>
375: <span class="ruby-ivar">@env_shebang</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:env_shebang</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">true</span>
376: <span class="ruby-ivar">@format_executable</span> = <span class="ruby-identifier">options</span>[<span class="ruby-value">:format_executable</span>] <span class="ruby-operator">||</span> <span class="ruby-keyword kw">false</span>
377: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -369,21 +373,21 @@
<div class="method-source-code"
id="generate-bin-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 375</span>
375: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_bin</span>
376: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">empty?</span>
377:
378: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
379: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-node">&quot;#{Bundler.tmp}/bin&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-node">&quot;#{Bundler.tmp}/bin&quot;</span>)
380: <span class="ruby-keyword kw">end</span>
381: <span class="ruby-keyword kw">super</span>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 379</span>
379: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">generate_bin</span>
380: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">empty?</span>
381:
382: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
383: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">mkdir_p</span> <span class="ruby-node">&quot;#{Gem.dir}/bin&quot;</span>
384: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">exe</span><span class="ruby-operator">|</span>
385: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/&quot;</span>
386: <span class="ruby-keyword kw">end</span>
387: <span class="ruby-keyword kw">end</span>
388: <span class="ruby-keyword kw">end</span></pre>
383: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-node">&quot;#{Bundler.tmp}/bin&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-node">&quot;#{Bundler.tmp}/bin&quot;</span>)
384: <span class="ruby-keyword kw">end</span>
385: <span class="ruby-keyword kw">super</span>
386: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
387: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">mkdir_p</span> <span class="ruby-node">&quot;#{Gem.dir}/bin&quot;</span>
388: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">exe</span><span class="ruby-operator">|</span>
389: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.dir}/bin/&quot;</span>
390: <span class="ruby-keyword kw">end</span>
391: <span class="ruby-keyword kw">end</span>
392: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -195,6 +195,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -323,6 +325,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -396,12 +400,12 @@ TODO: Refactor this class
<div class="method-source-code"
id="from-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 52</span>
52: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_lock</span>(<span class="ruby-identifier">options</span>)
53: <span class="ruby-identifier">s</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>)
54: <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;remote&quot;</span>]).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">add_remote</span>(<span class="ruby-identifier">r</span>) }
55: <span class="ruby-identifier">s</span>
56: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 46</span>
46: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">from_lock</span>(<span class="ruby-identifier">options</span>)
47: <span class="ruby-identifier">s</span> = <span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>)
48: <span class="ruby-constant">Array</span>(<span class="ruby-identifier">options</span>[<span class="ruby-value str">&quot;remote&quot;</span>]).<span class="ruby-identifier">each</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">s</span>.<span class="ruby-identifier">add_remote</span>(<span class="ruby-identifier">r</span>) }
49: <span class="ruby-identifier">s</span>
50: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -507,10 +511,10 @@ TODO: Refactor this class
<div class="method-source-code"
id="add-remote-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 128</span>
128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_remote</span>(<span class="ruby-identifier">source</span>)
129: <span class="ruby-ivar">@remotes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">normalize_uri</span>(<span class="ruby-identifier">source</span>)
130: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 123</span>
123: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_remote</span>(<span class="ruby-identifier">source</span>)
124: <span class="ruby-ivar">@remotes</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">normalize_uri</span>(<span class="ruby-identifier">source</span>)
125: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -541,14 +545,14 @@ TODO: Refactor this class
<div class="method-source-code"
id="cache-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 120</span>
120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>(<span class="ruby-identifier">spec</span>)
121: <span class="ruby-identifier">cached_path</span> = <span class="ruby-identifier">cached_gem</span>(<span class="ruby-identifier">spec</span>)
122: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-node">&quot;Missing gem file '#{spec.full_name}.gem'.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cached_path</span>
123: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">cached_path</span>) <span class="ruby-operator">==</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">app_cache</span>.<span class="ruby-identifier">to_s</span>
124: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot; * #{File.basename(cached_path)}&quot;</span>
125: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span>(<span class="ruby-identifier">cached_path</span>, <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">app_cache</span>)
126: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 115</span>
115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cache</span>(<span class="ruby-identifier">spec</span>)
116: <span class="ruby-identifier">cached_path</span> = <span class="ruby-identifier">cached_gem</span>(<span class="ruby-identifier">spec</span>)
117: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemNotFound</span>, <span class="ruby-node">&quot;Missing gem file '#{spec.full_name}.gem'.&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">cached_path</span>
118: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">dirname</span>(<span class="ruby-identifier">cached_path</span>) <span class="ruby-operator">==</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">app_cache</span>.<span class="ruby-identifier">to_s</span>
119: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot; * #{File.basename(cached_path)}&quot;</span>
120: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">cp</span>(<span class="ruby-identifier">cached_path</span>, <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">app_cache</span>)
121: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -651,15 +655,15 @@ TODO: Refactor this class
<div class="method-source-code"
id="fetch-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 73</span>
73: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">spec</span>)
74: <span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span> = <span class="ruby-ivar">@spec_fetch_map</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_name</span>]
75: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>
76: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">download_gem_from_uri</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>)
77: <span class="ruby-identifier">s</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Format</span>.<span class="ruby-identifier">from_file_by_path</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">spec</span>
78: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">__swap__</span>(<span class="ruby-identifier">s</span>)
79: <span class="ruby-keyword kw">end</span>
80: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 68</span>
68: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch</span>(<span class="ruby-identifier">spec</span>)
69: <span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span> = <span class="ruby-ivar">@spec_fetch_map</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_name</span>]
70: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>
71: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">download_gem_from_uri</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>)
72: <span class="ruby-identifier">s</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Format</span>.<span class="ruby-identifier">from_file_by_path</span>(<span class="ruby-identifier">path</span>).<span class="ruby-identifier">spec</span>
73: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">__swap__</span>(<span class="ruby-identifier">s</span>)
74: <span class="ruby-keyword kw">end</span>
75: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -724,40 +728,40 @@ TODO: Refactor this class
<div class="method-source-code"
id="install-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 82</span>
82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
83: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">cached_gem</span>(<span class="ruby-identifier">spec</span>)
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 77</span>
77: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">install</span>(<span class="ruby-identifier">spec</span>)
78: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">cached_gem</span>(<span class="ruby-identifier">spec</span>)
79:
80: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">installed_specs</span>[<span class="ruby-identifier">spec</span>].<span class="ruby-identifier">any?</span>
81: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Using #{spec.name} (#{spec.version}) &quot;</span>
82: <span class="ruby-keyword kw">return</span>
83: <span class="ruby-keyword kw">end</span>
84:
85: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">installed_specs</span>[<span class="ruby-identifier">spec</span>].<span class="ruby-identifier">any?</span>
86: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Using #{spec.name} (#{spec.version}) &quot;</span>
87: <span class="ruby-keyword kw">return</span>
88: <span class="ruby-keyword kw">end</span>
89:
90: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Installing #{spec.name} (#{spec.version}) &quot;</span>
91:
92: <span class="ruby-identifier">install_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">tmp</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span>
93: <span class="ruby-identifier">options</span> = { <span class="ruby-value">:install_dir</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">install_path</span>,
94: <span class="ruby-value">:ignore_dependencies</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>,
95: <span class="ruby-value">:wrappers</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>,
96: <span class="ruby-value">:env_shebang</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span> }
97: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-value">:bin_dir</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{install_path}/bin&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">empty?</span>
98:
99: <span class="ruby-identifier">installer</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span>
100: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">install</span>
101:
102: <span class="ruby-comment cmt"># SUDO HAX</span>
103: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
104: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications&quot;</span>
105: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/&quot;</span>
106: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/&quot;</span>
107: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">exe</span><span class="ruby-operator">|</span>
108: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p #{Gem.bindir}&quot;</span>
109: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}&quot;</span>
110: <span class="ruby-keyword kw">end</span>
111: <span class="ruby-keyword kw">end</span>
112:
113: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">loaded_from</span> = <span class="ruby-node">&quot;#{Gem.dir}/specifications/#{spec.full_name}.gemspec&quot;</span>
114: <span class="ruby-keyword kw">end</span></pre>
85: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Installing #{spec.name} (#{spec.version}) &quot;</span>
86:
87: <span class="ruby-identifier">install_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">tmp</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span>
88: <span class="ruby-identifier">options</span> = { <span class="ruby-value">:install_dir</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">install_path</span>,
89: <span class="ruby-value">:ignore_dependencies</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>,
90: <span class="ruby-value">:wrappers</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span>,
91: <span class="ruby-value">:env_shebang</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">true</span> }
92: <span class="ruby-identifier">options</span>.<span class="ruby-identifier">merge!</span>(<span class="ruby-value">:bin_dir</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-node">&quot;#{install_path}/bin&quot;</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">empty?</span>
93:
94: <span class="ruby-identifier">installer</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Installer</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">path</span>, <span class="ruby-identifier">options</span>
95: <span class="ruby-identifier">installer</span>.<span class="ruby-identifier">install</span>
96:
97: <span class="ruby-comment cmt"># SUDO HAX</span>
98: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
99: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications&quot;</span>
100: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/&quot;</span>
101: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/&quot;</span>
102: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">executables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">exe</span><span class="ruby-operator">|</span>
103: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p #{Gem.bindir}&quot;</span>
104: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}&quot;</span>
105: <span class="ruby-keyword kw">end</span>
106: <span class="ruby-keyword kw">end</span>
107:
108: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">loaded_from</span> = <span class="ruby-node">&quot;#{Gem.dir}/specifications/#{spec.full_name}.gemspec&quot;</span>
109: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -788,13 +792,13 @@ TODO: Refactor this class
<div class="method-source-code"
id="merge-remotes-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 132</span>
132: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge_remotes</span>(<span class="ruby-identifier">source</span>)
133: <span class="ruby-ivar">@remotes</span> = []
134: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
135: <span class="ruby-identifier">add_remote</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">to_s</span>
136: <span class="ruby-keyword kw">end</span>
137: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 127</span>
127: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">merge_remotes</span>(<span class="ruby-identifier">source</span>)
128: <span class="ruby-ivar">@remotes</span> = []
129: <span class="ruby-identifier">source</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
130: <span class="ruby-identifier">add_remote</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">to_s</span>
131: <span class="ruby-keyword kw">end</span>
132: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -805,7 +809,7 @@ TODO: Refactor this class
</div>
<div id="name-method" class="method-detail ">
<div id="name-method" class="method-detail method-alias">
<a name="method-i-name"></a>
<div class="method-heading">
@ -818,29 +822,19 @@ TODO: Refactor this class
<div class="method-description">
<p>
Not really needed, but it seems good to implement this method for interface
consistency. <a href="../Source.html">Source</a> name is mostly used to
identify <a href="Path.html">Path</a> &amp; <a href="Git.html">Git</a>
sources
</p>
<div class="method-source-code"
id="name-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 44</span>
44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">name</span>
45: <span class="ruby-value str">&quot;:gems&quot;</span>
46: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
<div class="aliases">
Alias for: <a href="Rubygems.html#method-i-to_s">to_s</a>
</div>
</div>
@ -864,10 +858,10 @@ sources
<div class="method-source-code"
id="options-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 48</span>
48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">options</span>
49: { <span class="ruby-value str">&quot;remotes&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@remotes</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">to_s</span> } }
50: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 42</span>
42: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">options</span>
43: { <span class="ruby-value str">&quot;remotes&quot;</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-ivar">@remotes</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">to_s</span> } }
44: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -932,10 +926,10 @@ sources
<div class="method-source-code"
id="specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 69</span>
69: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
70: <span class="ruby-ivar">@specs</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">fetch_specs</span>
71: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 64</span>
64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">specs</span>
65: <span class="ruby-ivar">@specs</span> <span class="ruby-operator">||=</span> <span class="ruby-identifier">fetch_specs</span>
66: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -966,10 +960,10 @@ sources
<div class="method-source-code"
id="sudo-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 116</span>
116: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sudo</span>(<span class="ruby-identifier">str</span>)
117: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">sudo</span>(<span class="ruby-identifier">str</span>)
118: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 111</span>
111: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">sudo</span>(<span class="ruby-identifier">str</span>)
112: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">sudo</span>(<span class="ruby-identifier">str</span>)
113: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1000,12 +994,12 @@ sources
<div class="method-source-code"
id="to-lock-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 58</span>
58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
59: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;GEM\n&quot;</span>
60: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; remote: #{r}\n&quot;</span> }.<span class="ruby-identifier">join</span>
61: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; specs:\n&quot;</span>
62: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 52</span>
52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_lock</span>
53: <span class="ruby-identifier">out</span> = <span class="ruby-value str">&quot;GEM\n&quot;</span>
54: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">map</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot; remote: #{r}\n&quot;</span> }.<span class="ruby-identifier">join</span>
55: <span class="ruby-identifier">out</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">&quot; specs:\n&quot;</span>
56: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1036,16 +1030,20 @@ sources
<div class="method-source-code"
id="to-s-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 64</span>
64: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
65: <span class="ruby-identifier">remotes</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
66: <span class="ruby-node">&quot;rubygems repository #{remotes}&quot;</span>
67: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 58</span>
58: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">to_s</span>
59: <span class="ruby-identifier">remote_names</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">to_s</span> }.<span class="ruby-identifier">join</span>(<span class="ruby-value str">', '</span>)
60: <span class="ruby-node">&quot;rubygems repository #{remote_names}&quot;</span>
61: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
<div class="aliases">
Also aliased as: <a href="Rubygems.html#method-i-name">name</a>
</div>
</div>
@ -1077,11 +1075,11 @@ sources
<div class="method-source-code"
id="cached-gem-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 141</span>
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached_gem</span>(<span class="ruby-identifier">spec</span>)
142: <span class="ruby-identifier">possibilities</span> = <span class="ruby-ivar">@caches</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;#{p}/#{spec.full_name}.gem&quot;</span> }
143: <span class="ruby-identifier">possibilities</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">p</span>) }
144: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 136</span>
136: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached_gem</span>(<span class="ruby-identifier">spec</span>)
137: <span class="ruby-identifier">possibilities</span> = <span class="ruby-ivar">@caches</span>.<span class="ruby-identifier">map</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-node">&quot;#{p}/#{spec.full_name}.gem&quot;</span> }
138: <span class="ruby-identifier">possibilities</span>.<span class="ruby-identifier">find</span> { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-identifier">p</span>) }
139: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1112,21 +1110,28 @@ sources
<div class="method-source-code"
id="cached-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 192</span>
192: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached_specs</span>
193: <span class="ruby-ivar">@cached_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
194: <span class="ruby-identifier">idx</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
195: <span class="ruby-ivar">@caches</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
196: <span class="ruby-constant">Dir</span>[<span class="ruby-node">&quot;#{path}/*.gem&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gemfile</span><span class="ruby-operator">|</span>
197: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
198: <span class="ruby-identifier">s</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Format</span>.<span class="ruby-identifier">from_file_by_path</span>(<span class="ruby-identifier">gemfile</span>).<span class="ruby-identifier">spec</span>
199: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
200: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
201: <span class="ruby-keyword kw">end</span>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 186</span>
186: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached_specs</span>
187: <span class="ruby-ivar">@cached_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
188: <span class="ruby-identifier">idx</span> = <span class="ruby-identifier">installed_specs</span>.<span class="ruby-identifier">dup</span>
189:
190: <span class="ruby-identifier">path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">app_cache</span>
191: <span class="ruby-constant">Dir</span>[<span class="ruby-node">&quot;#{path}/*.gem&quot;</span>].<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">gemfile</span><span class="ruby-operator">|</span>
192: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">gemfile</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/bundler\-[\d\.]+?\.gem/</span>
193:
194: <span class="ruby-keyword kw">begin</span>
195: <span class="ruby-identifier">s</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Format</span>.<span class="ruby-identifier">from_file_by_path</span>(<span class="ruby-identifier">gemfile</span>).<span class="ruby-identifier">spec</span>
196: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Package</span><span class="ruby-operator">::</span><span class="ruby-constant">FormatError</span>
197: <span class="ruby-identifier">raise</span> <span class="ruby-constant">GemspecError</span>, <span class="ruby-node">&quot;Could not read gem at #{gemfile}. It may be corrupted.&quot;</span>
198: <span class="ruby-keyword kw">end</span>
199:
200: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
201: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">s</span>
202: <span class="ruby-keyword kw">end</span>
203: <span class="ruby-identifier">idx</span>
204: <span class="ruby-keyword kw">end</span>
205: <span class="ruby-keyword kw">end</span></pre>
203: <span class="ruby-keyword kw">end</span>
204:
205: <span class="ruby-identifier">idx</span>
206: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1157,23 +1162,23 @@ sources
<div class="method-source-code"
id="download-gem-from-uri-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 246</span>
246: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">download_gem_from_uri</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>)
247: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">fetch_platform</span>
248:
249: <span class="ruby-identifier">download_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">tmp</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span>
250: <span class="ruby-identifier">gem_path</span> = <span class="ruby-node">&quot;#{Gem.dir}/cache/#{spec.full_name}.gem&quot;</span>
251:
252: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-node">&quot;#{download_path}/cache&quot;</span>)
253: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">RemoteFetcher</span>.<span class="ruby-identifier">fetcher</span>.<span class="ruby-identifier">download</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>, <span class="ruby-identifier">download_path</span>)
254:
255: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
256: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p #{Gem.dir}/cache&quot;</span>
257: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}&quot;</span>
258: <span class="ruby-keyword kw">end</span>
259:
260: <span class="ruby-identifier">gem_path</span>
261: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 247</span>
247: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">download_gem_from_uri</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>)
248: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">fetch_platform</span>
249:
250: <span class="ruby-identifier">download_path</span> = <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span> <span class="ruby-operator">?</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">tmp</span> <span class="ruby-operator">:</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">dir</span>
251: <span class="ruby-identifier">gem_path</span> = <span class="ruby-node">&quot;#{Gem.dir}/cache/#{spec.full_name}.gem&quot;</span>
252:
253: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-node">&quot;#{download_path}/cache&quot;</span>)
254: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">RemoteFetcher</span>.<span class="ruby-identifier">fetcher</span>.<span class="ruby-identifier">download</span>(<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>, <span class="ruby-identifier">download_path</span>)
255:
256: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">requires_sudo?</span>
257: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mkdir -p #{Gem.dir}/cache&quot;</span>
258: <span class="ruby-identifier">sudo</span> <span class="ruby-node">&quot;mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}&quot;</span>
259: <span class="ruby-keyword kw">end</span>
260:
261: <span class="ruby-identifier">gem_path</span>
262: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1204,21 +1209,21 @@ sources
<div class="method-source-code"
id="fetch-all-remote-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 231</span>
231: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch_all_remote_specs</span>(&amp;<span class="ruby-identifier">blk</span>)
232: <span class="ruby-keyword kw">begin</span>
233: <span class="ruby-comment cmt"># Fetch all specs, minus prerelease specs</span>
234: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SpecFetcher</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">list</span>(<span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>).<span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
235: <span class="ruby-comment cmt"># Then fetch the prerelease specs</span>
236: <span class="ruby-keyword kw">begin</span>
237: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SpecFetcher</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">list</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>).<span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
238: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">RemoteFetcher</span><span class="ruby-operator">::</span><span class="ruby-constant">FetchError</span>
239: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;Could not fetch prerelease specs from #{self}&quot;</span>
240: <span class="ruby-keyword kw">end</span>
241: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">RemoteFetcher</span><span class="ruby-operator">::</span><span class="ruby-constant">FetchError</span>
242: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;Could not reach #{self}&quot;</span>
243: <span class="ruby-keyword kw">end</span>
244: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 232</span>
232: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch_all_remote_specs</span>(&amp;<span class="ruby-identifier">blk</span>)
233: <span class="ruby-keyword kw">begin</span>
234: <span class="ruby-comment cmt"># Fetch all specs, minus prerelease specs</span>
235: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SpecFetcher</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">list</span>(<span class="ruby-keyword kw">true</span>, <span class="ruby-keyword kw">false</span>).<span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
236: <span class="ruby-comment cmt"># Then fetch the prerelease specs</span>
237: <span class="ruby-keyword kw">begin</span>
238: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SpecFetcher</span>.<span class="ruby-identifier">new</span>.<span class="ruby-identifier">list</span>(<span class="ruby-keyword kw">false</span>, <span class="ruby-keyword kw">true</span>).<span class="ruby-identifier">each</span>(&amp;<span class="ruby-identifier">blk</span>)
239: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">RemoteFetcher</span><span class="ruby-operator">::</span><span class="ruby-constant">FetchError</span>
240: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;Could not fetch prerelease specs from #{self}&quot;</span>
241: <span class="ruby-keyword kw">end</span>
242: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">RemoteFetcher</span><span class="ruby-operator">::</span><span class="ruby-constant">FetchError</span>
243: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">warn</span> <span class="ruby-node">&quot;Could not reach #{self}&quot;</span>
244: <span class="ruby-keyword kw">end</span>
245: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1249,14 +1254,14 @@ sources
<div class="method-source-code"
id="fetch-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 154</span>
154: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch_specs</span>
155: <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
156: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">installed_specs</span>
157: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">cached_specs</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@allow_cached</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@allow_remote</span>
158: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">remote_specs</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@allow_remote</span>
159: <span class="ruby-keyword kw">end</span>
160: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 149</span>
149: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">fetch_specs</span>
150: <span class="ruby-constant">Index</span>.<span class="ruby-identifier">build</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">idx</span><span class="ruby-operator">|</span>
151: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">installed_specs</span>
152: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">cached_specs</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@allow_cached</span> <span class="ruby-operator">||</span> <span class="ruby-ivar">@allow_remote</span>
153: <span class="ruby-identifier">idx</span>.<span class="ruby-identifier">use</span> <span class="ruby-identifier">remote_specs</span> <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@allow_remote</span>
154: <span class="ruby-keyword kw">end</span>
155: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1287,36 +1292,35 @@ sources
<div class="method-source-code"
id="installed-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 162</span>
162: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">installed_specs</span>
163: <span class="ruby-ivar">@installed_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
164: <span class="ruby-identifier">idx</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
165: <span class="ruby-identifier">have_bundler</span> = <span class="ruby-keyword kw">false</span>
166: <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">SourceIndex</span>.<span class="ruby-identifier">from_installed_gems</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dont_use_this_var</span>, <span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
167: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">VERSION</span>
168: <span class="ruby-identifier">have_bundler</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
169: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
170: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
171: <span class="ruby-keyword kw">end</span>
172:
173: <span class="ruby-comment cmt"># Always have bundler locally</span>
174: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">have_bundler</span>
175: <span class="ruby-comment cmt"># We're running bundler directly from the source</span>
176: <span class="ruby-comment cmt"># so, let's create a fake gemspec for it (it's a path)</span>
177: <span class="ruby-comment cmt"># gemspec</span>
178: <span class="ruby-identifier">bundler</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
179: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> = <span class="ruby-value str">'bundler'</span>
180: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> = <span class="ruby-constant">VERSION</span>
181: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
182: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
183: <span class="ruby-comment cmt"># TODO: Remove this</span>
184: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">loaded_from</span> = <span class="ruby-value str">'w0t'</span>
185: <span class="ruby-keyword kw">end</span>
186: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">bundler</span>
187: <span class="ruby-keyword kw">end</span>
188: <span class="ruby-identifier">idx</span>
189: <span class="ruby-keyword kw">end</span>
190: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 157</span>
157: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">installed_specs</span>
158: <span class="ruby-ivar">@installed_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
159: <span class="ruby-identifier">idx</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
160: <span class="ruby-identifier">have_bundler</span> = <span class="ruby-keyword kw">false</span>
161: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">source_index</span>.<span class="ruby-identifier">to_a</span>.<span class="ruby-identifier">reverse</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">dont_use_this_var</span>, <span class="ruby-identifier">spec</span><span class="ruby-operator">|</span>
162: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>.<span class="ruby-identifier">to_s</span> <span class="ruby-operator">!=</span> <span class="ruby-constant">VERSION</span>
163: <span class="ruby-identifier">have_bundler</span> = <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
164: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
165: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
166: <span class="ruby-keyword kw">end</span>
167:
168: <span class="ruby-comment cmt"># Always have bundler locally</span>
169: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">have_bundler</span>
170: <span class="ruby-comment cmt"># We're running bundler directly from the source</span>
171: <span class="ruby-comment cmt"># so, let's create a fake gemspec for it (it's a path)</span>
172: <span class="ruby-comment cmt"># gemspec</span>
173: <span class="ruby-identifier">bundler</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Specification</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">s</span><span class="ruby-operator">|</span>
174: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">name</span> = <span class="ruby-value str">'bundler'</span>
175: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">version</span> = <span class="ruby-constant">VERSION</span>
176: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">platform</span> = <span class="ruby-constant">Gem</span><span class="ruby-operator">::</span><span class="ruby-constant">Platform</span><span class="ruby-operator">::</span><span class="ruby-constant">RUBY</span>
177: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
178: <span class="ruby-identifier">s</span>.<span class="ruby-identifier">loaded_from</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-value str">&quot;..&quot;</span>, <span class="ruby-keyword kw">__FILE__</span>)
179: <span class="ruby-keyword kw">end</span>
180: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">bundler</span>
181: <span class="ruby-keyword kw">end</span>
182: <span class="ruby-identifier">idx</span>
183: <span class="ruby-keyword kw">end</span>
184: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1347,14 +1351,14 @@ sources
<div class="method-source-code"
id="normalize-uri-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 146</span>
146: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalize_uri</span>(<span class="ruby-identifier">uri</span>)
147: <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>
148: <span class="ruby-identifier">uri</span> = <span class="ruby-node">&quot;#{uri}/&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">%/$'</span>
149: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-identifier">uri</span>)
150: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;The source must be an absolute URI&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">absolute?</span>
151: <span class="ruby-identifier">uri</span>
152: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 141</span>
141: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">normalize_uri</span>(<span class="ruby-identifier">uri</span>)
142: <span class="ruby-identifier">uri</span> = <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">to_s</span>
143: <span class="ruby-identifier">uri</span> = <span class="ruby-node">&quot;#{uri}/&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">%/$'</span>
144: <span class="ruby-identifier">uri</span> = <span class="ruby-constant">URI</span>(<span class="ruby-identifier">uri</span>)
145: <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span>, <span class="ruby-value str">&quot;The source must be an absolute URI&quot;</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">uri</span>.<span class="ruby-identifier">absolute?</span>
146: <span class="ruby-identifier">uri</span>
147: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -1385,30 +1389,30 @@ sources
<div class="method-source-code"
id="remote-specs-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 207</span>
207: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote_specs</span>
208: <span class="ruby-ivar">@remote_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
209: <span class="ruby-identifier">idx</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
210: <span class="ruby-identifier">old</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span>
211:
212: <span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span><span class="ruby-operator">|</span>
213: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Fetching source index for #{uri}&quot;</span>
214: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span> = [<span class="ruby-node">&quot;#{uri}&quot;</span>]
215: <span class="ruby-identifier">fetch_all_remote_specs</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
216: <span class="ruby-identifier">v</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">platform</span><span class="ruby-operator">|</span>
217: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
218: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">RemoteSpecification</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">platform</span>, <span class="ruby-identifier">uri</span>)
219: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
220: <span class="ruby-ivar">@spec_fetch_map</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_name</span>] = [<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>]
221: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
222: <span class="ruby-keyword kw">end</span>
223: <span class="ruby-keyword kw">end</span>
224: <span class="ruby-keyword kw">end</span>
225: <span class="ruby-identifier">idx</span>
226: <span class="ruby-keyword kw">ensure</span>
227: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span> = <span class="ruby-identifier">old</span>
228: <span class="ruby-keyword kw">end</span>
229: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 208</span>
208: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote_specs</span>
209: <span class="ruby-ivar">@remote_specs</span> <span class="ruby-operator">||=</span> <span class="ruby-keyword kw">begin</span>
210: <span class="ruby-identifier">idx</span> = <span class="ruby-constant">Index</span>.<span class="ruby-identifier">new</span>
211: <span class="ruby-identifier">old</span> = <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span>
212:
213: <span class="ruby-identifier">remotes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">uri</span><span class="ruby-operator">|</span>
214: <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-node">&quot;Fetching source index for #{uri}&quot;</span>
215: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span> = [<span class="ruby-node">&quot;#{uri}&quot;</span>]
216: <span class="ruby-identifier">fetch_all_remote_specs</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">n</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
217: <span class="ruby-identifier">v</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">platform</span><span class="ruby-operator">|</span>
218: <span class="ruby-keyword kw">next</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'bundler'</span>
219: <span class="ruby-identifier">spec</span> = <span class="ruby-constant">RemoteSpecification</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">version</span>, <span class="ruby-identifier">platform</span>, <span class="ruby-identifier">uri</span>)
220: <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">source</span> = <span class="ruby-keyword kw">self</span>
221: <span class="ruby-ivar">@spec_fetch_map</span>[<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">full_name</span>] = [<span class="ruby-identifier">spec</span>, <span class="ruby-identifier">uri</span>]
222: <span class="ruby-identifier">idx</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">spec</span>
223: <span class="ruby-keyword kw">end</span>
224: <span class="ruby-keyword kw">end</span>
225: <span class="ruby-keyword kw">end</span>
226: <span class="ruby-identifier">idx</span>
227: <span class="ruby-keyword kw">ensure</span>
228: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span> = <span class="ruby-identifier">old</span>
229: <span class="ruby-keyword kw">end</span>
230: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -188,6 +188,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -316,6 +318,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -82,6 +82,8 @@
<li><a href="#method-i-confirm">#confirm</a></li>
<li><a href="#method-i-debug">#debug</a></li>
<li><a href="#method-i-error">#error</a></li>
<li><a href="#method-i-info">#info</a></li>
@ -162,6 +164,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -290,6 +294,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -339,9 +345,42 @@
<div class="method-source-code"
id="confirm-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 12</span>
12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">confirm</span>(<span class="ruby-identifier">message</span>)
13: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 15</span>
15: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">confirm</span>(<span class="ruby-identifier">message</span>)
16: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="debug-method" class="method-detail ">
<a name="method-i-debug"></a>
<div class="method-heading">
<span class="method-name">debug</span><span
class="method-args">(message)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="debug-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 6</span>
6: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">message</span>)
7: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -372,9 +411,9 @@
<div class="method-source-code"
id="error-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 6</span>
6: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">message</span>)
7: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 9</span>
9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">message</span>)
10: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -405,9 +444,9 @@
<div class="method-source-code"
id="info-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 9</span>
9: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">message</span>)
10: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 12</span>
12: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">message</span>)
13: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -147,6 +147,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -275,6 +277,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -324,10 +328,10 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 47</span>
47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ui</span>)
48: <span class="ruby-ivar">@ui</span> = <span class="ruby-identifier">ui</span>
49: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 57</span>
57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">ui</span>)
58: <span class="ruby-ivar">@ui</span> = <span class="ruby-identifier">ui</span>
59: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -364,14 +368,14 @@
<div class="method-source-code"
id="say-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 51</span>
51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">say</span>(<span class="ruby-identifier">message</span>)
52: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/native extensions/</span>
53: <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;with native extensions &quot;</span>
54: <span class="ruby-keyword kw">else</span>
55: <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">message</span>)
56: <span class="ruby-keyword kw">end</span>
57: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 61</span>
61: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">say</span>(<span class="ruby-identifier">message</span>)
62: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">message</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/native extensions/</span>
63: <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">info</span> <span class="ruby-value str">&quot;with native extensions &quot;</span>
64: <span class="ruby-keyword kw">else</span>
65: <span class="ruby-ivar">@ui</span>.<span class="ruby-identifier">debug</span>(<span class="ruby-identifier">message</span>)
66: <span class="ruby-keyword kw">end</span>
67: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -77,6 +77,8 @@
<li><a href="#method-i-debug">#debug</a></li>
<li><a href="#method-i-debug%21">#debug!</a></li>
<li><a href="#method-i-error">#error</a></li>
<li><a href="#method-i-info">#info</a></li>
@ -157,6 +159,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -285,6 +289,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -307,6 +313,29 @@
<!-- Attributes -->
<div id="attribute-method-details" class="method-section section">
<h3 class="section-header">Attributes</h3>
<div id="shell-attribute-method" class="method-detail">
<a name="shell"></a>
<a name="shell="></a>
<div class="method-heading attribute-method-heading">
<span class="method-name">shell</span><span
class="attribute-access-type">[W]</span>
</div>
<div class="method-description">
</div>
</div>
</div>
<!-- Methods -->
@ -334,11 +363,12 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 16</span>
16: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">shell</span>)
17: <span class="ruby-ivar">@shell</span> = <span class="ruby-identifier">shell</span>
18: <span class="ruby-ivar">@quiet</span> = <span class="ruby-keyword kw">false</span>
19: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 21</span>
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">shell</span>)
22: <span class="ruby-ivar">@shell</span> = <span class="ruby-identifier">shell</span>
23: <span class="ruby-ivar">@quiet</span> = <span class="ruby-keyword kw">false</span>
24: <span class="ruby-ivar">@debug</span> = <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'DEBUG'</span>]
25: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -375,10 +405,10 @@
<div class="method-source-code"
id="be-quiet--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 41</span>
41: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">be_quiet!</span>
42: <span class="ruby-ivar">@quiet</span> = <span class="ruby-keyword kw">true</span>
43: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 47</span>
47: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">be_quiet!</span>
48: <span class="ruby-ivar">@quiet</span> = <span class="ruby-keyword kw">true</span>
49: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -409,10 +439,10 @@
<div class="method-source-code"
id="confirm-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 29</span>
29: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">confirm</span>(<span class="ruby-identifier">msg</span>)
30: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-value">:green</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@quiet</span>
31: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 35</span>
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">confirm</span>(<span class="ruby-identifier">msg</span>)
36: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-value">:green</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@quiet</span>
37: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -443,10 +473,44 @@
<div class="method-source-code"
id="debug-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 21</span>
21: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">msg</span>)
22: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">ENV</span>[<span class="ruby-value str">'DEBUG'</span>] <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@quiet</span>
23: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 27</span>
27: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug</span>(<span class="ruby-identifier">msg</span>)
28: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@debug</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@quiet</span>
29: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="debug--method" class="method-detail ">
<a name="method-i-debug%21"></a>
<div class="method-heading">
<span class="method-name">debug!</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="debug--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 51</span>
51: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">debug!</span>
52: <span class="ruby-ivar">@debug</span> = <span class="ruby-keyword kw">true</span>
53: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -477,10 +541,10 @@
<div class="method-source-code"
id="error-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 37</span>
37: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">msg</span>)
38: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-value">:red</span>)
39: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 43</span>
43: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">error</span>(<span class="ruby-identifier">msg</span>)
44: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-value">:red</span>)
45: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -511,10 +575,10 @@
<div class="method-source-code"
id="info-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 25</span>
25: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">msg</span>)
26: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@quiet</span>
27: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 31</span>
31: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">info</span>(<span class="ruby-identifier">msg</span>)
32: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span><span class="ruby-ivar">@quiet</span>
33: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
@ -545,10 +609,10 @@
<div class="method-source-code"
id="warn-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 33</span>
33: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warn</span>(<span class="ruby-identifier">msg</span>)
34: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-value">:yellow</span>)
35: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/ui.rb, line 39</span>
39: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">warn</span>(<span class="ruby-identifier">msg</span>)
40: <span class="ruby-ivar">@shell</span>.<span class="ruby-identifier">say</span>(<span class="ruby-identifier">msg</span>, <span class="ruby-value">:yellow</span>)
41: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -145,6 +145,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -273,6 +275,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -287,7 +291,10 @@
<h1 class="class">Bundler::VersionConflict</h1>
<div id="description">
<p>
Internal errors, should be rescued
</p>
</div>
<!-- Constants -->
@ -343,11 +350,11 @@
<div class="method-source-code"
id="new-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 56</span>
56: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">conflicts</span>, <span class="ruby-identifier">msg</span> = <span class="ruby-keyword kw">nil</span>)
57: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">msg</span>)
58: <span class="ruby-ivar">@conflicts</span> = <span class="ruby-identifier">conflicts</span>
59: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler.rb, line 57</span>
57: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">conflicts</span>, <span class="ruby-identifier">msg</span> = <span class="ruby-keyword kw">nil</span>)
58: <span class="ruby-keyword kw">super</span>(<span class="ruby-identifier">msg</span>)
59: <span class="ruby-ivar">@conflicts</span> = <span class="ruby-identifier">conflicts</span>
60: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -136,6 +136,8 @@
<li><a href="./Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="./Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="./Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="./Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="./Gem/Platform.html">Gem::Platform</a></li>
<li><a href="./Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="./Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -69,6 +69,8 @@
<li><span class="type">CLASS</span> <a href="Gem/Platform.html">Gem::Platform</a></li>
<li><span class="type">CLASS</span> <a href="Gem/Requirement.html">Gem::Requirement</a></li>
<li><span class="type">CLASS</span> <a href="Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -148,6 +150,8 @@
<li><a href="./Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="./Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="./Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="./Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -276,6 +280,8 @@
<li><a href="./Gem/Platform.html">Gem::Platform</a></li>
<li><a href="./Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="./Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -75,6 +75,8 @@
<h3 class="section-header">Methods</h3>
<ul class="link-list">
<li><a href="#method-i-matches_spec%3F">#matches_spec?</a></li>
<li><a href="#method-i-required_by">#required_by</a></li>
<li><a href="#method-i-requirement">#requirement</a></li>
@ -157,6 +159,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -285,6 +289,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -354,6 +360,44 @@
<h3 class="section-header">Public Instance Methods</h3>
<div id="matches-spec--method" class="method-detail ">
<a name="method-i-matches_spec%3F"></a>
<div class="method-heading">
<span class="method-name">matches_spec?</span><span
class="method-args">(spec)</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="matches-spec--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 120</span>
120: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">matches_spec?</span>(<span class="ruby-identifier">spec</span>)
121: <span class="ruby-comment cmt"># name can be a Regexp, so use ===</span>
122: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">false</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">name</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">spec</span>.<span class="ruby-identifier">name</span>
123: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">none?</span>
124:
125: <span class="ruby-identifier">requirement</span>.<span class="ruby-identifier">satisfied_by?</span>(<span class="ruby-identifier">spec</span>.<span class="ruby-identifier">version</span>)
126: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
<div id="required-by-method" class="method-detail ">
<a name="method-i-required_by"></a>

View File

@ -145,6 +145,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -273,6 +275,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
@ -306,7 +310,7 @@
<dd class="description"></dd>
<dt><a name="MING">MING</a></dt>
<dt><a name="MINGW">MINGW</a></dt>
<dd class="description"></dd>
@ -344,10 +348,10 @@
<div class="method-source-code"
id="hash-source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 126</span>
126: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
127: <span class="ruby-ivar">@cpu</span>.<span class="ruby-identifier">hash</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@os</span>.<span class="ruby-identifier">hash</span> <span class="ruby-operator">+</span> <span class="ruby-ivar">@version</span>.<span class="ruby-identifier">hash</span>
128: <span class="ruby-keyword kw">end</span></pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 140</span>
140: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
141: <span class="ruby-ivar">@cpu</span>.<span class="ruby-identifier">hash</span> <span class="ruby-operator">^</span> <span class="ruby-ivar">@os</span>.<span class="ruby-identifier">hash</span> <span class="ruby-operator">^</span> <span class="ruby-ivar">@version</span>.<span class="ruby-identifier">hash</span>
142: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>

View File

@ -0,0 +1,363 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Class: Gem::Requirement</title>
<link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
<script src="../js/jquery.js" type="text/javascript"
charset="utf-8"></script>
<script src="../js/thickbox-compressed.js" type="text/javascript"
charset="utf-8"></script>
<script src="../js/quicksearch.js" type="text/javascript"
charset="utf-8"></script>
<script src="../js/darkfish.js" type="text/javascript"
charset="utf-8"></script>
</head>
<body class="class">
<div id="metadata">
<div id="home-metadata">
<div id="home-section" class="section">
<h3 class="section-header">
<a href="../index.html">Home</a>
<a href="../index.html#classes">Classes</a>
<a href="../index.html#methods">Methods</a>
</h3>
</div>
</div>
<div id="file-metadata">
<div id="file-list-section" class="section">
<h3 class="section-header">In Files</h3>
<div class="section-body">
<ul>
<li><a href="../lib/bundler/rubygems_ext_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
class="thickbox" title="lib/bundler/rubygems_ext.rb">lib/bundler/rubygems_ext.rb</a></li>
</ul>
</div>
</div>
</div>
<div id="class-metadata">
<!-- Parent Class -->
<div id="parent-class-section" class="section">
<h3 class="section-header">Parent</h3>
<p class="link">Object</p>
</div>
<!-- Namespace Contents -->
<!-- Method Quickref -->
<div id="method-list-section" class="section">
<h3 class="section-header">Methods</h3>
<ul class="link-list">
<li><a href="#method-i-none%3F">#none?</a></li>
</ul>
</div>
<!-- Included Modules -->
</div>
<div id="project-metadata">
<div id="fileindex-section" class="section project-section">
<h3 class="section-header">Files</h3>
<ul>
<li class="file"><a href="../lib/bundler/man/bundle.html">bundle</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-config.html">bundle-config</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-config_txt.html">bundle-config.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-exec.html">bundle-exec</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-exec_txt.html">bundle-exec.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-install.html">bundle-install</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-install_txt.html">bundle-install.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-package.html">bundle-package</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-package_txt.html">bundle-package.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-update.html">bundle-update</a></li>
<li class="file"><a href="../lib/bundler/man/bundle-update_txt.html">bundle-update.txt</a></li>
<li class="file"><a href="../lib/bundler/man/bundle_txt.html">bundle.txt</a></li>
<li class="file"><a href="../lib/bundler/man/gemfile_5_txt.html">gemfile.5.txt</a></li>
<li class="file"><a href="../lib/bundler/templates/Gemfile.html">Gemfile</a></li>
</ul>
</div>
<div id="classindex-section" class="section project-section">
<h3 class="section-header">Class Index
<span class="search-toggle"><img src="../images/find.png"
height="16" width="16" alt="[+]"
title="show/hide quicksearch" /></span></h3>
<form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
<fieldset>
<legend>Quicksearch</legend>
<input type="text" name="quicksearch" value=""
class="quicksearch-field" />
</fieldset>
</form>
<ul class="link-list">
<li><a href="../Bundler.html">Bundler</a></li>
<li><a href="../Bundler/BundlerError.html">Bundler::BundlerError</a></li>
<li><a href="../Bundler/CLI.html">Bundler::CLI</a></li>
<li><a href="../Bundler/Definition.html">Bundler::Definition</a></li>
<li><a href="../Bundler/DepProxy.html">Bundler::DepProxy</a></li>
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
<li><a href="../Bundler/DslError.html">Bundler::DslError</a></li>
<li><a href="../Bundler/Environment.html">Bundler::Environment</a></li>
<li><a href="../Bundler/GemHelper.html">Bundler::GemHelper</a></li>
<li><a href="../Bundler/GemHelpers.html">Bundler::GemHelpers</a></li>
<li><a href="../Bundler/GemNotFound.html">Bundler::GemNotFound</a></li>
<li><a href="../Bundler/GemfileError.html">Bundler::GemfileError</a></li>
<li><a href="../Bundler/GemfileNotFound.html">Bundler::GemfileNotFound</a></li>
<li><a href="../Bundler/GemspecError.html">Bundler::GemspecError</a></li>
<li><a href="../Bundler/GitError.html">Bundler::GitError</a></li>
<li><a href="../Bundler/Graph.html">Bundler::Graph</a></li>
<li><a href="../Bundler/GraphNode.html">Bundler::GraphNode</a></li>
<li><a href="../Bundler/Index.html">Bundler::Index</a></li>
<li><a href="../Bundler/Installer.html">Bundler::Installer</a></li>
<li><a href="../Bundler/InvalidOption.html">Bundler::InvalidOption</a></li>
<li><a href="../Bundler/InvalidSpecSet.html">Bundler::InvalidSpecSet</a></li>
<li><a href="../Bundler/LazySpecification.html">Bundler::LazySpecification</a></li>
<li><a href="../Bundler/LockfileParser.html">Bundler::LockfileParser</a></li>
<li><a href="../Bundler/MatchPlatform.html">Bundler::MatchPlatform</a></li>
<li><a href="../Bundler/PathError.html">Bundler::PathError</a></li>
<li><a href="../Bundler/ProductionError.html">Bundler::ProductionError</a></li>
<li><a href="../Bundler/RemoteSpecification.html">Bundler::RemoteSpecification</a></li>
<li><a href="../Bundler/Resolver.html">Bundler::Resolver</a></li>
<li><a href="../Bundler/Resolver/SpecGroup.html">Bundler::Resolver::SpecGroup</a></li>
<li><a href="../Bundler/Runtime.html">Bundler::Runtime</a></li>
<li><a href="../Bundler/Settings.html">Bundler::Settings</a></li>
<li><a href="../Bundler/SharedHelpers.html">Bundler::SharedHelpers</a></li>
<li><a href="../Bundler/SharedHelpers/Gem.html">Bundler::SharedHelpers::Gem</a></li>
<li><a href="../Bundler/SharedHelpers/Gem/SourceIndex.html">Bundler::SharedHelpers::Gem::SourceIndex</a></li>
<li><a href="../Bundler/Source.html">Bundler::Source</a></li>
<li><a href="../Bundler/Source/Git.html">Bundler::Source::Git</a></li>
<li><a href="../Bundler/Source/Path.html">Bundler::Source::Path</a></li>
<li><a href="../Bundler/Source/Path/Installer.html">Bundler::Source::Path::Installer</a></li>
<li><a href="../Bundler/Source/Rubygems.html">Bundler::Source::Rubygems</a></li>
<li><a href="../Bundler/SpecSet.html">Bundler::SpecSet</a></li>
<li><a href="../Bundler/UI.html">Bundler::UI</a></li>
<li><a href="../Bundler/UI/RGProxy.html">Bundler::UI::RGProxy</a></li>
<li><a href="../Bundler/UI/Shell.html">Bundler::UI::Shell</a></li>
<li><a href="../Bundler/VersionConflict.html">Bundler::VersionConflict</a></li>
<li><a href="../Thor.html">Thor</a></li>
<li><a href="../Thor/Actions.html">Thor::Actions</a></li>
<li><a href="../Thor/Actions/ClassMethods.html">Thor::Actions::ClassMethods</a></li>
<li><a href="../Thor/Base.html">Thor::Base</a></li>
<li><a href="../Thor/Base/ClassMethods.html">Thor::Base::ClassMethods</a></li>
<li><a href="../Thor/DynamicTask.html">Thor::DynamicTask</a></li>
<li><a href="../Thor/Error.html">Thor::Error</a></li>
<li><a href="../Thor/HiddenTask.html">Thor::HiddenTask</a></li>
<li><a href="../Thor/Invocation.html">Thor::Invocation</a></li>
<li><a href="../Thor/Invocation/ClassMethods.html">Thor::Invocation::ClassMethods</a></li>
<li><a href="../Thor/InvocationError.html">Thor::InvocationError</a></li>
<li><a href="../Thor/MalformattedArgumentError.html">Thor::MalformattedArgumentError</a></li>
<li><a href="../Thor/RequiredArgumentMissingError.html">Thor::RequiredArgumentMissingError</a></li>
<li><a href="../Thor/Shell.html">Thor::Shell</a></li>
<li><a href="../Thor/Shell/Basic.html">Thor::Shell::Basic</a></li>
<li><a href="../Thor/Shell/Color.html">Thor::Shell::Color</a></li>
<li><a href="../Thor/Shell/HTML.html">Thor::Shell::HTML</a></li>
<li><a href="../Thor/Task.html">Thor::Task</a></li>
<li><a href="../Thor/UndefinedTaskError.html">Thor::UndefinedTaskError</a></li>
<li><a href="../Thor/UnknownArgumentError.html">Thor::UnknownArgumentError</a></li>
<li><a href="../Thor/Util.html">Thor::Util</a></li>
<li><a href="../Gem.html">Gem</a></li>
<li><a href="../Gem/Dependency.html">Gem::Dependency</a></li>
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>
<div id="no-class-search-results" style="display: none;">No matching classes.</div>
</div>
</div>
</div>
<div id="documentation">
<h1 class="class">Gem::Requirement</h1>
<div id="description">
</div>
<!-- Constants -->
<!-- Attributes -->
<!-- Methods -->
<div id="public-instance-method-details" class="method-section section">
<h3 class="section-header">Public Instance Methods</h3>
<div id="none--method" class="method-detail ">
<a name="method-i-none%3F"></a>
<div class="method-heading">
<span class="method-name">none?</span><span
class="method-args">()</span>
<span class="method-click-advice">click to toggle source</span>
</div>
<div class="method-description">
<div class="method-source-code"
id="none--source">
<pre>
<span class="ruby-comment cmt"># File lib/bundler/rubygems_ext.rb, line 130</span>
130: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">none?</span>
131: <span class="ruby-ivar">@none</span> <span class="ruby-operator">||=</span> (<span class="ruby-identifier">to_s</span> <span class="ruby-operator">==</span> <span class="ruby-value str">&quot;&gt;= 0&quot;</span>)
132: <span class="ruby-keyword kw">end</span></pre>
</div>
</div>
</div>
</div>
</div>
<div id="rdoc-debugging-section-dump" class="debugging-section">
<p>Disabled; run with --debug to generate this.</p>
</div>
<div id="validator-badges">
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
<p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
Rdoc Generator</a> 1.1.6</small>.</p>
</div>
</body>
</html>

View File

@ -181,6 +181,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -309,6 +311,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -297,6 +297,8 @@
<li><a href="./Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="./Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="./Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="./Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -425,6 +427,8 @@
<li><a href="./Gem/Platform.html">Gem::Platform</a></li>
<li><a href="./Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="./Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -222,6 +222,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -350,6 +352,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -144,6 +144,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -272,6 +274,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -158,6 +158,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -286,6 +288,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -174,6 +174,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -302,6 +304,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -143,6 +143,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -271,6 +273,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -147,6 +147,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -275,6 +277,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -145,6 +145,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -273,6 +275,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -149,6 +149,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -277,6 +279,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -129,6 +129,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -257,6 +259,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -129,6 +129,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -257,6 +259,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -166,6 +166,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -294,6 +296,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -175,6 +175,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -303,6 +305,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -145,6 +145,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -273,6 +275,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -147,6 +147,8 @@
<li><a href="../../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -275,6 +277,8 @@
<li><a href="../../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -159,6 +159,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -287,6 +289,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -136,6 +136,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -264,6 +266,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -162,6 +162,8 @@
<li><a href="../Bundler/Dependency.html">Bundler::Dependency</a></li>
<li><a href="../Bundler/Deployment.html">Bundler::Deployment</a></li>
<li><a href="../Bundler/DeprecatedError.html">Bundler::DeprecatedError</a></li>
<li><a href="../Bundler/Dsl.html">Bundler::Dsl</a></li>
@ -290,6 +292,8 @@
<li><a href="../Gem/Platform.html">Gem::Platform</a></li>
<li><a href="../Gem/Requirement.html">Gem::Requirement</a></li>
<li><a href="../Gem/Specification.html">Gem::Specification</a></li>
</ul>

View File

@ -0,0 +1,67 @@
Mon, 06 Dec 2010 17:31:08 -0600
lib/bundler/vendor/thor.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/task.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/parser/options.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-update Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/environment.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/core_ext/ordered_hash.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/ui.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/shared_helpers.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/setup.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/rubygems_ext.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/index.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/dependency.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/version.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/shell/color.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/shell/basic.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/parser/argument.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/templates/Executable Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/remote_specification.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/gemfile.5.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/actions.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/templates/Gemfile Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/spec_set.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/graph.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/gem_helper.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/version.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/util.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/actions/empty_directory.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/actions/create_file.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/source.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-update.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-exec.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-config Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/capistrano.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-package.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-package Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-install Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/shell/html.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/runtime.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/resolver.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/definition.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/parser.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/core_ext/file_binary_read.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/actions/inject_into_file.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/settings.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-install.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/lockfile_parser.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/lazy_specification.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/deployment.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vlad.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/parser/option.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-config.txt Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/invocation.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/error.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/actions/directory.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/installer.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/cli.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/shell.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/parser/arguments.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/core_ext/hash_with_indifferent_access.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/base.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/vendor/thor/actions/file_manipulation.rb Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/man/bundle-exec Mon, 06 Dec 2010 17:30:55 -0600
lib/bundler/dsl.rb Mon, 06 Dec 2010 17:30:55 -0600

Some files were not shown because too many files have changed in this diff Show More