method
generate_bin
v2_1_10 -
Show latest stable
- Class:
Gem::Installer
generate_bin()public
DOC: Missing docs or :nodoc:.
# File lib/rubygems/installer.rb, line 390
def generate_bin
return if spec.executables.nil? or spec.executables.empty?
Dir.mkdir @bin_dir unless File.exist? @bin_dir
raise Gem::FilePermissionError.new(@bin_dir) unless File.writable? @bin_dir
spec.executables.each do |filename|
filename.untaint
bin_path = File.join gem_dir, spec.bindir, filename
unless File.exist? bin_path then
# TODO change this to a more useful warning
warn "#{bin_path} maybe `gem pristine #{spec.name}` will fix it?"
next
end
mode = File.stat(bin_path).mode | 0111
FileUtils.chmod mode, bin_path
check_executable_overwrite filename
if @wrappers then
generate_bin_script filename, @bin_dir
else
generate_bin_symlink filename, @bin_dir
end
end
end Related methods
- Instance methods
- app_script_text
- 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_required_ruby_version_met
- ensure_required_rubygems_version_met
- extension_build_error
- extract_bin
- extract_files
- formatted_program_filename
- gem_dir
- generate_bin
- generate_bin_script
- generate_bin_symlink
- generate_windows_script
- 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
- spec_file
- unpack
- verify_gem_home
- windows_stub_script
- write_build_info_file
- write_cache_file
- write_default_spec
- write_spec
- Class methods
- exec_format
- new