Sha256: c1ef60cbeca2700776278ea26fc2fbb920fa35832cbbc2e8b76ca9321a573025
Contents?: true
Size: 1.61 KB
Versions: 161
Compression:
Stored size: 1.61 KB
Contents
class Pry class Command::InstallCommand < Pry::ClassCommand match 'install-command' group 'Commands' description 'Install a disabled command.' banner <<-'BANNER' Usage: install-command COMMAND Installs the gems necessary to run the given COMMAND. You will generally not need to run this unless told to by an error message. BANNER def process(name) require 'rubygems/dependency_installer' unless defined? Gem::DependencyInstaller command = find_command(name) unless command output.puts "Command #{ text.green(name) } is not found" return end if command_dependencies_met?(command.options) output.puts "Dependencies for #{ text.green(name) } are met. Nothing to do" return end output.puts "Attempting to install #{ text.green(name) } command..." gems_to_install = Array(command.options[:requires_gem]) gems_to_install.each do |g| next if Rubygem.installed?(g) output.puts "Installing #{ text.green(g) } gem..." Rubygem.install(g) end gems_to_install.each do |g| begin require g rescue LoadError fail_msg = "Required gem #{ text.green(g) } installed but not found." fail_msg += " Aborting command installation\n" fail_msg += 'Tips: 1. Check your PATH; 2. Run `bundle update`' raise CommandError, fail_msg end end output.puts "Installation of #{ text.green(name) } successful! Type `help #{name}` for information" end end Pry::Commands.add_command(Pry::Command::InstallCommand) end
Version data entries
161 entries across 154 versions & 35 rubygems