summaryrefslogtreecommitdiff
path: root/trunk/lib/rubygems/commands/list_command.rb
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/lib/rubygems/commands/list_command.rb')
-rw-r--r--trunk/lib/rubygems/commands/list_command.rb35
1 files changed, 35 insertions, 0 deletions
diff --git a/trunk/lib/rubygems/commands/list_command.rb b/trunk/lib/rubygems/commands/list_command.rb
new file mode 100644
index 0000000000..f3e5da9551
--- /dev/null
+++ b/trunk/lib/rubygems/commands/list_command.rb
@@ -0,0 +1,35 @@
+require 'rubygems/command'
+require 'rubygems/commands/query_command'
+
+##
+# An alternate to Gem::Commands::QueryCommand that searches for gems starting
+# with the the supplied argument.
+
+class Gem::Commands::ListCommand < Gem::Commands::QueryCommand
+
+ def initialize
+ super 'list', 'Display gems whose name starts with STRING'
+
+ remove_option('--name-matches')
+ end
+
+ def arguments # :nodoc:
+ "STRING start of gem name to look for"
+ end
+
+ def defaults_str # :nodoc:
+ "--local --no-details"
+ end
+
+ def usage # :nodoc:
+ "#{program_name} [STRING]"
+ end
+
+ def execute
+ string = get_one_optional_argument || ''
+ options[:name] = /^#{string}/i
+ super
+ end
+
+end
+