aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/command_manager.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/command_manager.rb')
-rw-r--r--lib/rubygems/command_manager.rb11
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/rubygems/command_manager.rb b/lib/rubygems/command_manager.rb
index e22dc5deb3..3dc5779c91 100644
--- a/lib/rubygems/command_manager.rb
+++ b/lib/rubygems/command_manager.rb
@@ -71,6 +71,10 @@ class Gem::CommandManager
:yank,
]
+ ALIAS_COMMANDS = {
+ 'i' => 'install'
+ }
+
##
# Return the authoritative instance of the command manager.
@@ -174,6 +178,8 @@ class Gem::CommandManager
end
def find_command(cmd_name)
+ cmd_name = find_alias_command cmd_name
+
possibilities = find_command_possibilities cmd_name
if possibilities.size > 1 then
@@ -186,6 +192,11 @@ class Gem::CommandManager
self[possibilities.first]
end
+ def find_alias_command(cmd_name)
+ alias_name = ALIAS_COMMANDS[cmd_name]
+ alias_name ? alias_name : cmd_name
+ end
+
def find_command_possibilities(cmd_name)
len = cmd_name.length