Class: Bundler::Source::Path::Installer
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::Bundler::RubyGemsGemInstaller ,
Gem::Installer
|
|
Instance Chain:
self,
::Bundler::RubyGemsGemInstaller ,
Gem::Installer
|
|
Inherits: |
Bundler::RubyGemsGemInstaller
|
Defined in: | lib/bundler/source/path/installer.rb |
Class Method Summary
- .new(spec, options = {}) ⇒ Installer constructor
Instance Attribute Summary
- #spec readonly
Instance Method Summary
- #post_install
- #run_hooks(type) private
::Bundler::RubyGemsGemInstaller
- Inherited
Constructor Details
.new(spec, options = {}) ⇒ Installer
# File 'lib/bundler/source/path/installer.rb', line 11
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] @bin_dir = @gem_bin_dir end
Instance Attribute Details
#spec (readonly)
[ GitHub ]# File 'lib/bundler/source/path/installer.rb', line 9
attr_reader :spec
Instance Method Details
#post_install
[ GitHub ]# 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
#run_hooks(type) (private)
[ GitHub ]# File 'lib/bundler/source/path/installer.rb', line 39
def run_hooks(type) hooks_meth = "#{type}_hooks" return unless Gem.respond_to?(hooks_meth) Gem.send(hooks_meth).each do |hook| result = hook.call(self) next unless result == false location = " at #{$1}" if hook.inspect =~ /@(.*:\d+)/ = "#{type} hook#{location} failed for #{spec.full_name}" raise InstallHookError, end end