Class: Bundler::GemInstaller

Inherits:
Object
  • Object
show all
Defined in:
lib/bundler/installer/gem_installer.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(spec, installer, standalone = false, worker = 0, force = false) ⇒ GemInstaller

Returns a new instance of GemInstaller.



7
8
9
10
11
12
13
# File 'lib/bundler/installer/gem_installer.rb', line 7

def initialize(spec, installer, standalone = false, worker = 0, force = false)
  @spec = spec
  @installer = installer
  @standalone = standalone
  @worker = worker
  @force = force
end

Instance Attribute Details

#forceObject (readonly)

Returns the value of attribute force.



5
6
7
# File 'lib/bundler/installer/gem_installer.rb', line 5

def force
  @force
end

#installerObject (readonly)

Returns the value of attribute installer.



5
6
7
# File 'lib/bundler/installer/gem_installer.rb', line 5

def installer
  @installer
end

#specObject (readonly)

Returns the value of attribute spec.



5
6
7
# File 'lib/bundler/installer/gem_installer.rb', line 5

def spec
  @spec
end

#standaloneObject (readonly)

Returns the value of attribute standalone.



5
6
7
# File 'lib/bundler/installer/gem_installer.rb', line 5

def standalone
  @standalone
end

#workerObject (readonly)

Returns the value of attribute worker.



5
6
7
# File 'lib/bundler/installer/gem_installer.rb', line 5

def worker
  @worker
end

Instance Method Details

#install_from_specObject



15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/bundler/installer/gem_installer.rb', line 15

def install_from_spec
  post_install_message = install
  Bundler.ui.debug "#{worker}:  #{spec.name} (#{spec.version}) from #{spec.loaded_from}"
  generate_executable_stubs
  [true, post_install_message]
rescue Bundler::InstallHookError, Bundler::SecurityError, Bundler::APIResponseMismatchError, Bundler::InsecureInstallPathError
  raise
rescue Errno::ENOSPC
  [false, out_of_space_message]
rescue Bundler::BundlerError, Gem::InstallError => e
  [false, specific_failure_message(e)]
end