diff options
author | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-14 11:39:21 +0000 |
---|---|---|
committer | usa <usa@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2013-05-14 11:39:21 +0000 |
commit | e76eb06feb024828034379797129d92522e28516 (patch) | |
tree | 1326c625c233ba2554043203a7697f5e3d4c49e5 /ruby_1_9_3/lib/rubygems/commands/contents_command.rb | |
parent | aa6e98139c8e1ea442fb2182341aaa08ff55b529 (diff) | |
parent | bede15ac5e701ed08f3fc64c2dba03d3f393c652 (diff) |
add tag v1_9_3_426v1_9_3_426
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_9_3_426@40737 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_9_3/lib/rubygems/commands/contents_command.rb')
-rw-r--r-- | ruby_1_9_3/lib/rubygems/commands/contents_command.rb | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/ruby_1_9_3/lib/rubygems/commands/contents_command.rb b/ruby_1_9_3/lib/rubygems/commands/contents_command.rb deleted file mode 100644 index e483484615..0000000000 --- a/ruby_1_9_3/lib/rubygems/commands/contents_command.rb +++ /dev/null @@ -1,101 +0,0 @@ -require 'rubygems/command' -require 'rubygems/version_option' - -class Gem::Commands::ContentsCommand < Gem::Command - - include Gem::VersionOption - - def initialize - super 'contents', 'Display the contents of the installed gems', - :specdirs => [], :lib_only => false, :prefix => true - - add_version_option - - add_option( '--all', - "Contents for all gems") do |all, options| - options[:all] = all - end - - add_option('-s', '--spec-dir a,b,c', Array, - "Search for gems under specific paths") do |spec_dirs, options| - options[:specdirs] = spec_dirs - end - - add_option('-l', '--[no-]lib-only', - "Only return files in the Gem's lib_dirs") do |lib_only, options| - options[:lib_only] = lib_only - end - - add_option( '--[no-]prefix', - "Don't include installed path prefix") do |prefix, options| - options[:prefix] = prefix - end - end - - def arguments # :nodoc: - "GEMNAME name of gem to list contents for" - end - - def defaults_str # :nodoc: - "--no-lib-only --prefix" - end - - def usage # :nodoc: - "#{program_name} GEMNAME [GEMNAME ...]" - end - - def execute - version = options[:version] || Gem::Requirement.default - - spec_dirs = options[:specdirs].map do |i| - [i, File.join(i, "specifications")] - end.flatten - - path_kind = if spec_dirs.empty? then - spec_dirs = Gem::Specification.dirs - "default gem paths" - else - "specified path" - end - - gem_names = if options[:all] then - Gem::Specification.map(&:name) - else - get_all_gem_names - end - - gem_names.each do |name| - # HACK: find_by_name fails for some reason... ARGH - # How many places must we embed our resolve logic? - spec = Gem::Specification.find_all_by_name(name, version).last - - unless spec then - say "Unable to find gem '#{name}' in #{path_kind}" - - if Gem.configuration.verbose then - say "\nDirectories searched:" - spec_dirs.each { |dir| say dir } - end - - terminate_interaction 1 if gem_names.length == 1 - end - - gem_path = spec.full_gem_path - extra = "/{#{spec.require_paths.join ','}}" if options[:lib_only] - glob = "#{gem_path}#{extra}/**/*" - files = Dir[glob] - - gem_path = File.join gem_path, '' # add trailing / if missing - - files.sort.each do |file| - next if File.directory? file - - file = file.sub gem_path, '' unless options[:prefix] - - say file - end - end - end - -end - |