4bf2e0d944
Remove the vendored sqlite3-ruby. Instead, add support for Bundler (which is vendored). Before running the new Instiki, do a ruby bundle which will install all of the needed gems locally. (If you need to, tweak the contents of Gemfile.)
1443 lines
60 KiB
HTML
1443 lines
60 KiB
HTML
<?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::Source::Rubygems</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/source_rb.html?TB_iframe=true&height=550&width=785"
|
|
class="thickbox" title="lib/bundler/source.rb">lib/bundler/source.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-from_lock">::from_lock</a></li>
|
|
|
|
<li><a href="#method-c-new">::new</a></li>
|
|
|
|
<li><a href="#method-i-%3D%3D">#==</a></li>
|
|
|
|
<li><a href="#method-i-add_remote">#add_remote</a></li>
|
|
|
|
<li><a href="#method-i-cache">#cache</a></li>
|
|
|
|
<li><a href="#method-i-cached%21">#cached!</a></li>
|
|
|
|
<li><a href="#method-i-cached_gem">#cached_gem</a></li>
|
|
|
|
<li><a href="#method-i-cached_specs">#cached_specs</a></li>
|
|
|
|
<li><a href="#method-i-download_gem_from_uri">#download_gem_from_uri</a></li>
|
|
|
|
<li><a href="#method-i-eql%3F">#eql?</a></li>
|
|
|
|
<li><a href="#method-i-fetch">#fetch</a></li>
|
|
|
|
<li><a href="#method-i-fetch_all_remote_specs">#fetch_all_remote_specs</a></li>
|
|
|
|
<li><a href="#method-i-fetch_specs">#fetch_specs</a></li>
|
|
|
|
<li><a href="#method-i-hash">#hash</a></li>
|
|
|
|
<li><a href="#method-i-install">#install</a></li>
|
|
|
|
<li><a href="#method-i-installed_specs">#installed_specs</a></li>
|
|
|
|
<li><a href="#method-i-merge_remotes">#merge_remotes</a></li>
|
|
|
|
<li><a href="#method-i-name">#name</a></li>
|
|
|
|
<li><a href="#method-i-normalize_uri">#normalize_uri</a></li>
|
|
|
|
<li><a href="#method-i-options">#options</a></li>
|
|
|
|
<li><a href="#method-i-remote%21">#remote!</a></li>
|
|
|
|
<li><a href="#method-i-remote_specs">#remote_specs</a></li>
|
|
|
|
<li><a href="#method-i-specs">#specs</a></li>
|
|
|
|
<li><a href="#method-i-sudo">#sudo</a></li>
|
|
|
|
<li><a href="#method-i-to_lock">#to_lock</a></li>
|
|
|
|
<li><a href="#method-i-to_s">#to_s</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/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/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::Source::Rubygems</h1>
|
|
|
|
<div id="description">
|
|
<p>
|
|
TODO: Refactor this class
|
|
</p>
|
|
|
|
</div>
|
|
|
|
<!-- Constants -->
|
|
|
|
|
|
<!-- Attributes -->
|
|
|
|
<div id="attribute-method-details" class="method-section section">
|
|
<h3 class="section-header">Attributes</h3>
|
|
|
|
|
|
<div id="remotes-attribute-method" class="method-detail">
|
|
<a name="remotes"></a>
|
|
|
|
<div class="method-heading attribute-method-heading">
|
|
<span class="method-name">remotes</span><span
|
|
class="attribute-access-type">[R]</span>
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<!-- Methods -->
|
|
|
|
<div id="public-class-method-details" class="method-section section">
|
|
<h3 class="section-header">Public Class Methods</h3>
|
|
|
|
|
|
<div id="from-lock-method" class="method-detail ">
|
|
<a name="method-c-from_lock"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">from_lock</span><span
|
|
class="method-args">(options)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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">"remote"</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="new-method" class="method-detail ">
|
|
<a name="method-c-new"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">new</span><span
|
|
class="method-args">(options = {})</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="new-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 14</span>
|
|
14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">options</span> = {})
|
|
15: <span class="ruby-ivar">@options</span> = <span class="ruby-identifier">options</span>
|
|
16: <span class="ruby-ivar">@remotes</span> = (<span class="ruby-identifier">options</span>[<span class="ruby-value str">"remotes"</span>] <span class="ruby-operator">||</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">normalize_uri</span>(<span class="ruby-identifier">r</span>) }
|
|
17: <span class="ruby-ivar">@allow_remote</span> = <span class="ruby-keyword kw">false</span>
|
|
18: <span class="ruby-ivar">@allow_cached</span> = <span class="ruby-keyword kw">false</span>
|
|
19: <span class="ruby-comment cmt"># Hardcode the paths for now</span>
|
|
20: <span class="ruby-ivar">@caches</span> = [ <span class="ruby-constant">Bundler</span>.<span class="ruby-identifier">app_cache</span> ] <span class="ruby-operator">+</span> <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">path</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-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-node">"#{p}/cache"</span>) }
|
|
21: <span class="ruby-ivar">@spec_fetch_map</span> = {}
|
|
22: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="public-instance-method-details" class="method-section section">
|
|
<h3 class="section-header">Public Instance Methods</h3>
|
|
|
|
|
|
<div id="--method" class="method-detail method-alias">
|
|
<a name="method-i-%3D%3D"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">==</span><span
|
|
class="method-args">(o)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="aliases">
|
|
Alias for: <a href="Rubygems.html#method-i-eql%3F">eql?</a>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div id="add-remote-method" class="method-detail ">
|
|
<a name="method-i-add_remote"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">add_remote</span><span
|
|
class="method-args">(source)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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"><<</span> <span class="ruby-identifier">normalize_uri</span>(<span class="ruby-identifier">source</span>)
|
|
130: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="cache-method" class="method-detail ">
|
|
<a name="method-i-cache"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">cache</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="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">"Missing gem file '#{spec.full_name}.gem'."</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">" * #{File.basename(cached_path)}"</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="cached--method" class="method-detail ">
|
|
<a name="method-i-cached%21"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">cached!</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="cached--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 28</span>
|
|
28: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">cached!</span>
|
|
29: <span class="ruby-ivar">@allow_cached</span> = <span class="ruby-keyword kw">true</span>
|
|
30: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="eql--method" class="method-detail ">
|
|
<a name="method-i-eql%3F"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">eql?</span><span
|
|
class="method-args">(o)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<div class="method-source-code"
|
|
id="eql--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 36</span>
|
|
36: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">eql?</span>(<span class="ruby-identifier">o</span>)
|
|
37: <span class="ruby-constant">Rubygems</span> <span class="ruby-operator">===</span> <span class="ruby-identifier">o</span>
|
|
38: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
<div class="aliases">
|
|
Also aliased as: <a href="Rubygems.html#method-i-%3D%3D">==</a>
|
|
</div>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="fetch-method" class="method-detail ">
|
|
<a name="method-i-fetch"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">fetch</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="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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="hash-method" class="method-detail ">
|
|
<a name="method-i-hash"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">hash</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="hash-source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 32</span>
|
|
32: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">hash</span>
|
|
33: <span class="ruby-constant">Rubygems</span>.<span class="ruby-identifier">hash</span>
|
|
34: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="install-method" class="method-detail ">
|
|
<a name="method-i-install"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">install</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="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>)
|
|
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">"Using #{spec.name} (#{spec.version}) "</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">"Installing #{spec.name} (#{spec.version}) "</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">></span> <span class="ruby-identifier">install_path</span>,
|
|
94: <span class="ruby-value">:ignore_dependencies</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">true</span>,
|
|
95: <span class="ruby-value">:wrappers</span> =<span class="ruby-operator">></span> <span class="ruby-keyword kw">true</span>,
|
|
96: <span class="ruby-value">:env_shebang</span> =<span class="ruby-operator">></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">></span> <span class="ruby-node">"#{install_path}/bin"</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">"mkdir -p #{Gem.dir}/gems #{Gem.dir}/specifications"</span>
|
|
105: <span class="ruby-identifier">sudo</span> <span class="ruby-node">"cp -R #{Bundler.tmp}/gems/#{spec.full_name} #{Gem.dir}/gems/"</span>
|
|
106: <span class="ruby-identifier">sudo</span> <span class="ruby-node">"cp -R #{Bundler.tmp}/specifications/#{spec.full_name}.gemspec #{Gem.dir}/specifications/"</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">"mkdir -p #{Gem.bindir}"</span>
|
|
109: <span class="ruby-identifier">sudo</span> <span class="ruby-node">"cp -R #{Bundler.tmp}/bin/#{exe} #{Gem.bindir}"</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">"#{Gem.dir}/specifications/#{spec.full_name}.gemspec"</span>
|
|
114: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="merge-remotes-method" class="method-detail ">
|
|
<a name="method-i-merge_remotes"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">merge_remotes</span><span
|
|
class="method-args">(source)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="name-method" class="method-detail ">
|
|
<a name="method-i-name"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">name</span><span
|
|
class="method-args">()</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<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> & <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">":gems"</span>
|
|
46: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="options-method" class="method-detail ">
|
|
<a name="method-i-options"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">options</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="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">"remotes"</span> =<span class="ruby-operator">></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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="remote--method" class="method-detail ">
|
|
<a name="method-i-remote%21"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">remote!</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="remote--source">
|
|
<pre>
|
|
<span class="ruby-comment cmt"># File lib/bundler/source.rb, line 24</span>
|
|
24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remote!</span>
|
|
25: <span class="ruby-ivar">@allow_remote</span> = <span class="ruby-keyword kw">true</span>
|
|
26: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="specs-method" class="method-detail ">
|
|
<a name="method-i-specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">specs</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="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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="sudo-method" class="method-detail ">
|
|
<a name="method-i-sudo"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">sudo</span><span
|
|
class="method-args">(str)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="to-lock-method" class="method-detail ">
|
|
<a name="method-i-to_lock"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">to_lock</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="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">"GEM\n"</span>
|
|
60: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</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">" remote: #{r}\n"</span> }.<span class="ruby-identifier">join</span>
|
|
61: <span class="ruby-identifier">out</span> <span class="ruby-operator"><<</span> <span class="ruby-value str">" specs:\n"</span>
|
|
62: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="to-s-method" class="method-detail ">
|
|
<a name="method-i-to_s"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">to_s</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="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">"rubygems repository #{remotes}"</span>
|
|
67: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div id="private-instance-method-details" class="method-section section">
|
|
<h3 class="section-header">Private Instance Methods</h3>
|
|
|
|
|
|
<div id="cached-gem-method" class="method-detail ">
|
|
<a name="method-i-cached_gem"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">cached_gem</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="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">"#{p}/#{spec.full_name}.gem"</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="cached-specs-method" class="method-detail ">
|
|
<a name="method-i-cached_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">cached_specs</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="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">"#{path}/*.gem"</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"><<</span> <span class="ruby-identifier">s</span>
|
|
201: <span class="ruby-keyword kw">end</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="download-gem-from-uri-method" class="method-detail ">
|
|
<a name="method-i-download_gem_from_uri"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">download_gem_from_uri</span><span
|
|
class="method-args">(spec, uri)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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">"#{Gem.dir}/cache/#{spec.full_name}.gem"</span>
|
|
251:
|
|
252: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">mkdir_p</span>(<span class="ruby-node">"#{download_path}/cache"</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">"mkdir -p #{Gem.dir}/cache"</span>
|
|
257: <span class="ruby-identifier">sudo</span> <span class="ruby-node">"mv #{Bundler.tmp}/cache/#{spec.full_name}.gem #{gem_path}"</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="fetch-all-remote-specs-method" class="method-detail ">
|
|
<a name="method-i-fetch_all_remote_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">fetch_all_remote_specs</span><span
|
|
class="method-args">(&blk)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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>(&<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>(&<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>(&<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">"Could not fetch prerelease specs from #{self}"</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">"Could not reach #{self}"</span>
|
|
243: <span class="ruby-keyword kw">end</span>
|
|
244: <span class="ruby-keyword kw">end</span></pre>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="fetch-specs-method" class="method-detail ">
|
|
<a name="method-i-fetch_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">fetch_specs</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="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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="installed-specs-method" class="method-detail ">
|
|
<a name="method-i-installed_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">installed_specs</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="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">&&</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"><<</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"><<</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="normalize-uri-method" class="method-detail ">
|
|
<a name="method-i-normalize_uri"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">normalize_uri</span><span
|
|
class="method-args">(uri)</span>
|
|
<span class="method-click-advice">click to toggle source</span>
|
|
|
|
</div>
|
|
|
|
<div class="method-description">
|
|
|
|
|
|
|
|
|
|
|
|
<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">"#{uri}/"</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">"The source must be an absolute URI"</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>
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</div>
|
|
|
|
|
|
<div id="remote-specs-method" class="method-detail ">
|
|
<a name="method-i-remote_specs"></a>
|
|
|
|
<div class="method-heading">
|
|
|
|
<span class="method-name">remote_specs</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="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">"Fetching source index for #{uri}"</span>
|
|
214: <span class="ruby-constant">Gem</span>.<span class="ruby-identifier">sources</span> = [<span class="ruby-node">"#{uri}"</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"><<</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>
|
|
</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>
|
|
|