Class: Bundler::Source::Path::Installer
- Inherits:
-
RubyGemsGemInstaller
- Object
- Gem::Installer
- RubyGemsGemInstaller
- Bundler::Source::Path::Installer
- Defined in:
- lib/bundler/source/path/installer.rb
Instance Attribute Summary collapse
-
#spec ⇒ Object
readonly
Returns the value of attribute spec.
Instance Method Summary collapse
-
#initialize(spec, options = {}) ⇒ Installer
constructor
A new instance of Installer.
- #post_install ⇒ Object
Methods inherited from RubyGemsGemInstaller
#build_extensions, #check_executable_overwrite, #pre_install_checks
Constructor Details
#initialize(spec, options = {}) ⇒ Installer
Returns a new instance of Installer.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
# File 'lib/bundler/source/path/installer.rb', line 9 def initialize(spec, = {}) @options = @spec = spec @gem_dir = Bundler.rubygems.path(spec.full_gem_path) @wrappers = true @env_shebang = true @format_executable = [:format_executable] || false @build_args = [:build_args] || Bundler.rubygems.build_args @gem_bin_dir = "#{Bundler.rubygems.gem_dir}/bin" @disable_extensions = [:disable_extensions] if Bundler.requires_sudo? @tmp_dir = Bundler.tmp(spec.full_name).to_s @bin_dir = "#{@tmp_dir}/bin" else @bin_dir = @gem_bin_dir end end |
Instance Attribute Details
#spec ⇒ Object (readonly)
Returns the value of attribute spec.
7 8 9 |
# File 'lib/bundler/source/path/installer.rb', line 7 def spec @spec end |
Instance Method Details
#post_install ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/bundler/source/path/installer.rb', line 28 def post_install run_hooks(:pre_install) unless @disable_extensions build_extensions run_hooks(:post_build) end generate_bin unless spec.executables.nil? || spec.executables.empty? run_hooks(:post_install) ensure Bundler.rm_rf(@tmp_dir) if Bundler.requires_sudo? end |