We’re doing this because we might write tests that deal with other versions of bundler and we are unsure how to handle this better.
# File lib/bundler.rb, line 166 166: def app_cache 167: root.join("vendor/cache") 168: end
# File lib/bundler.rb, line 160 160: def app_config_path 161: ENV['BUNDLE_APP_CONFIG'] ? 162: Pathname.new(ENV['BUNDLE_APP_CONFIG']).expand_path(root) : 163: root.join('.bundle') 164: end
# File lib/bundler.rb, line 86 86: def bin_path 87: @bin_path ||= begin 88: path = settings[:bin] || "bin" 89: path = Pathname.new(path).expand_path(root) 90: FileUtils.mkdir_p(path) 91: Pathname.new(path).expand_path 92: end 93: end
# File lib/bundler.rb, line 81 81: def bundle_path 82: # STDERR.puts settings.path 83: @bundle_path ||= Pathname.new(settings.path).expand_path(root) 84: end
# File lib/bundler.rb, line 152 152: def cache 153: bundle_path.join("cache/bundler") 154: end
# File lib/bundler.rb, line 70 70: def configure 71: @configured ||= begin 72: configure_gem_home_and_path 73: true 74: end 75: end
# File lib/bundler.rb, line 186 186: def default_gemfile 187: SharedHelpers.default_gemfile 188: end
# File lib/bundler.rb, line 190 190: def default_lockfile 191: SharedHelpers.default_lockfile 192: end
# File lib/bundler.rb, line 123 123: def definition(unlock = nil) 124: @definition = nil if unlock 125: @definition ||= begin 126: configure 127: upgrade_lockfile 128: Definition.build(default_gemfile, default_lockfile, unlock) 129: end 130: end
# File lib/bundler.rb, line 119 119: def environment 120: Bundler::Environment.new(root, definition) 121: end
# File lib/bundler.rb, line 140 140: def home 141: bundle_path.join("bundler") 142: end
# File lib/bundler.rb, line 144 144: def install_path 145: home.join("gems") 146: end
# File lib/bundler.rb, line 115 115: def load 116: @load ||= Runtime.new(root, definition) 117: end
# File lib/bundler.rb, line 221 221: def load_gemspec(file) 222: path = Pathname.new(file) 223: # Eval the gemspec from its parent directory 224: Dir.chdir(path.dirname) do 225: begin 226: Gem::Specification.from_yaml(path.basename) 227: # Raises ArgumentError if the file is not valid YAML 228: rescue ArgumentError, SyntaxError, Gem::EndOfYAMLException, Gem::Exception 229: begin 230: eval(File.read(path.basename), TOPLEVEL_BINDING, path.expand_path.to_s) 231: rescue LoadError => e 232: original_line = e.backtrace.find { |line| line.include?(path.to_s) } 233: msg = "There was a LoadError while evaluating #{path.basename}:\n #{e.message}" 234: msg << " from\n #{original_line}" if original_line 235: msg << "\n" 236: 237: if RUBY_VERSION >= "1.9.0" 238: msg << "\nDoes it try to require a relative path? That doesn't work in Ruby 1.9." 239: end 240: 241: raise GemspecError, msg 242: end 243: end 244: end 245: end
# File lib/bundler.rb, line 205 205: def mkdir_p(path) 206: if requires_sudo? 207: sudo "mkdir -p '#{path}'" unless File.exist?(path) 208: else 209: FileUtils.mkdir_p(path) 210: end 211: end
# File lib/bundler.rb, line 217 217: def read_file(file) 218: File.open(file, "rb") { |f| f.read } 219: end
# File lib/bundler.rb, line 111 111: def require(*groups) 112: setup(*groups).require(*groups) 113: end
# File lib/bundler.rb, line 194 194: def requires_sudo? 195: return @requires_sudo if @checked_for_sudo 196: 197: path = bundle_path 198: path = path.parent until path.exist? 199: sudo_present = !(`which sudo` rescue '').empty? 200: 201: @checked_for_sudo = true 202: @requires_sudo = settings.allow_sudo? && !File.writable?(path) && sudo_present 203: end
# File lib/bundler.rb, line 156 156: def root 157: default_gemfile.dirname.expand_path 158: end
# File lib/bundler.rb, line 132 132: def ruby_scope 133: "#{Gem.ruby_engine}/#{Gem::ConfigMap[:ruby_version]}" 134: end
# File lib/bundler.rb, line 174 174: def settings 175: @settings ||= Settings.new(app_config_path) 176: end
# File lib/bundler.rb, line 95 95: def setup(*groups) 96: return @setup if defined?(@setup) && @setup 97: 98: if groups.empty? 99: # Load all groups, but only once 100: @setup = load.setup 101: else 102: # Figure out which groups haven't been loaded yet 103: unloaded = groups - (@completed_groups || []) 104: # Record groups that are now loaded 105: @completed_groups = groups | (@completed_groups || []) 106: # Load any groups that are not yet loaded 107: unloaded.any? ? load.setup(*unloaded) : load 108: end 109: end
# File lib/bundler.rb, line 148 148: def specs_path 149: bundle_path.join("specifications") 150: end
# File lib/bundler.rb, line 213 213: def sudo(str) 214: `sudo -p 'Enter your password to install the bundled RubyGems to your system: ' #{str}` 215: end
# File lib/bundler.rb, line 170 170: def tmp 171: user_bundle_path.join("tmp", Process.pid.to_s) 172: end
# File lib/bundler.rb, line 249 249: def configure_gem_home_and_path 250: if settings[:disable_shared_gems] 251: ENV['GEM_PATH'] = '' 252: ENV['GEM_HOME'] = File.expand_path(bundle_path, root) 253: elsif Gem.dir != bundle_path.to_s 254: paths = [Gem.dir, Gem.path].flatten.compact.uniq.reject{|p| p.empty? } 255: ENV["GEM_PATH"] = paths.join(File::PATH_SEPARATOR) 256: ENV["GEM_HOME"] = bundle_path.to_s 257: end 258: 259: FileUtils.mkdir_p bundle_path.to_s 260: Gem.clear_paths 261: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.