Class: Bundler::Source::Path::Installer
- Inherits:
-
GemInstaller
- Object
- Gem::Installer
- GemInstaller
- Bundler::Source::Path::Installer
- Defined in:
- lib/bundler/source/path/installer.rb
Instance Method Summary collapse
- #generate_bin ⇒ Object
-
#initialize(spec, options = {}) ⇒ Installer
constructor
A new instance of Installer.
Methods inherited from GemInstaller
Constructor Details
#initialize(spec, options = {}) ⇒ Installer
Returns a new instance of Installer.
6 7 8 9 10 11 12 13 14 15 16 |
# File 'lib/bundler/source/path/installer.rb', line 6 def initialize(spec, = {}) @spec = spec @tmp_bin_dir = "#{Bundler.tmp(spec.full_name)}/bin" @gem_bin_dir = "#{Bundler.rubygems.gem_dir}/bin" @bin_dir = Bundler.requires_sudo? ? @tmp_bin_dir : @gem_bin_dir @gem_dir = Bundler.rubygems.path(spec.full_gem_path) @wrappers = [:wrappers] || true @env_shebang = [:env_shebang] || true @format_executable = [:format_executable] || false @build_args = [:build_args] || Bundler.rubygems.build_args end |
Instance Method Details
#generate_bin ⇒ Object
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/bundler/source/path/installer.rb', line 18 def generate_bin return if spec.executables.nil? || spec.executables.empty? if Bundler.requires_sudo? FileUtils.mkdir_p(@tmp_bin_dir) unless File.exist?(@tmp_bin_dir) end super if Bundler.requires_sudo? Bundler.mkdir_p @gem_bin_dir spec.executables.each do |exe| Bundler.sudo "cp -R #{@tmp_bin_dir}/#{exe} #{@gem_bin_dir}" end end end |