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
- #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) ⇒ GemInstaller
# 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
#force (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :installer
#installer (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :installer
#spec (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :installer
#standalone (readonly)
[ GitHub ]#worker (readonly)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 5
attr_reader :spec, :standalone, :worker, :force, :installer
Instance Method Details
#failure_message (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 37
def end
#generate_executable_stubs (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 74
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 53
def install spec.source.install( spec, :force => force, :ensure_builtin_gems_cached => standalone, :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 15
def install_from_spec = install Bundler.ui.debug "#{worker}: #{spec.name} (#{spec.version}) from #{spec.loaded_from}" generate_executable_stubs return true, rescue Bundler::InstallHookError, Bundler::SecurityError, Bundler::APIResponseMismatchError raise rescue Errno::ENOSPC return false, rescue Bundler::BundlerError, Gem::InstallError, Bundler::APIResponseInvalidDependenciesError => e return false, (e) end
#out_of_space_message (private)
[ GitHub ]# File 'lib/bundler/installer/gem_installer.rb', line 70
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 63
def previous_spec locked_gems = installer.definition.locked_gems return unless locked_gems locked_gems.specs.find {|s| s.name == spec.name } end