Class: Bundler::Source::Path::Installer

Inherits:
RubyGemsGemInstaller show all
Defined in:
lib/bundler/source/path/installer.rb

Constant Summary

Constants inherited from Gem::Installer

Gem::Installer::ENV_PATHS, Gem::Installer::ExtensionBuildError

Instance Attribute Summary collapse

Attributes inherited from Gem::Installer

#bin_dir, #build_root, #gem_home, #options, #package

Instance Method Summary collapse

Methods inherited from RubyGemsGemInstaller

#build_extensions, #check_executable_overwrite, #gem_checksum, #generate_plugins, #install, #pre_install_checks

Methods inherited from Gem::Installer

#app_script_text, at, #build_extensions, #check_executable_overwrite, #check_that_user_bin_dir_is_in_path, #default_spec_file, #dir, #ensure_dependencies_met, #ensure_dependency, #ensure_loadable_spec, #ensure_writable_dir, #explicit_version_requirement, #extract_bin, #extract_files, for_spec, #formatted_program_filename, #gem, #gem_dir, #gemdeps_load, #generate_bin, #generate_bin_script, #generate_bin_symlink, #generate_plugins, #generate_windows_script, inherited, #install, #installation_satisfies_dependency?, #installed_specs, #pre_install_checks, #process_options, #run_post_build_hooks, #run_post_install_hooks, #run_pre_install_hooks, #shebang, #spec_file, #unpack, #verify_gem_home, #verify_spec, #windows_stub_script, #write_build_info_file, #write_cache_file, #write_default_spec, #write_spec

Methods included from Gem::Deprecate

#deprecate, next_rubygems_major_version, rubygems_deprecate, rubygems_deprecate_command, skip, skip=, skip_during

Methods included from Gem::InstallerUninstallerUtils

#regenerate_plugins_for, #remove_plugins_for

Methods included from Gem::UserInteraction

#alert, #alert_error, #alert_warning, #ask, #ask_for_password, #ask_yes_no, #choose_from_list, #say, #terminate_interaction, #verbose

Methods included from Gem::DefaultUserInteraction

ui, #ui, ui=, #ui=, use_ui, #use_ui

Methods included from Gem::Text

#clean_text, #format_text, #levenshtein_distance, #min3, #truncate_text

Constructor Details

#initialize(spec, options = {}) ⇒ Installer

Returns a new instance of Installer.



11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/bundler/source/path/installer.rb', line 11

def initialize(spec, options = {})
  @options            = options
  @spec               = spec
  @gem_dir            = Bundler.rubygems.path(spec.full_gem_path)
  @wrappers           = true
  @env_shebang        = true
  @format_executable  = options[:format_executable] || false
  @build_args         = options[:build_args] || Bundler.rubygems.build_args
  @gem_bin_dir        = "#{Bundler.rubygems.gem_dir}/bin"
  @disable_extensions = options[:disable_extensions]
  @bin_dir = @gem_bin_dir
end

Instance Attribute Details

#specObject (readonly)

Returns the value of attribute spec.



9
10
11
# File 'lib/bundler/source/path/installer.rb', line 9

def spec
  @spec
end

Instance Method Details

#post_installObject



24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/bundler/source/path/installer.rb', line 24

def post_install
  run_hooks(:pre_install)

  unless @disable_extensions
    build_extensions
    run_hooks(:post_build)
  end

  generate_bin unless spec.executables.empty?

  run_hooks(:post_install)
end