Class: Bundler::GemInstaller
Relationships & Source Files | |
Inherits: | Object |
Defined in: | lib/bundler/installer/gem_installer.rb |
Class Method Summary
Instance Attribute Summary
- #force readonly
- #installer readonly
- #local readonly
- #spec readonly
- #standalone readonly
- #worker readonly
Instance Method Summary
- #install_from_spec
- #failure_message private
- #generate_executable_stubs private
- #install private
- #install_error_message private
- #out_of_space_message private
- #previous_spec private
- #spec_settings private
- #specific_failure_message(e) private
Constructor Details
.new(spec, installer, standalone = false, worker = 0, force = false, local = false) ⇒ GemInstaller
Instance Attribute Details
#force (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :local, :installer
#installer (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :local, :installer
#local (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :local, :installer
#spec (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :local, :installer
#standalone (readonly)
[ GitHub ]#worker (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :local, :installer
Instance Method Details
#failure_message (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 38
def end
#generate_executable_stubs (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 75
def generate_executable_stubs return if Bundler.feature_flag. return if Bundler.settings[:inline] if Bundler.settings[:bin] && standalone installer.generate_standalone_bundler_executable_stubs(spec) elsif Bundler.settings[:bin] installer.generate_bundler_executable_stubs(spec, force: true) end end
#install (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 54
def install spec.source.install( spec, force: force, local: local, build_args: Array(spec_settings), previous_spec: previous_spec, ) end
#install_error_message (private)
[ GitHub ]#install_from_spec
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 16
def install_from_spec = install Bundler.ui.debug "#{worker}: #{spec.name} (#{spec.version}) from #{spec.loaded_from}" generate_executable_stubs [true, ] rescue Bundler::InstallHookError, Bundler::SecurityError, Bundler::APIResponseMismatchError, Bundler::InsecureInstallPathError raise rescue Errno::ENOSPC [false, ] rescue Bundler::BundlerError, Gem::InstallError => e [false, (e)] end
#out_of_space_message (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 71
def "#{}\nYour disk is out of space. Free some space to be able to install your bundle." end
#previous_spec (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 64
def previous_spec locked_gems = installer.definition.locked_gems return unless locked_gems locked_gems.specs.find {|s| s.name == spec.name } end