method
execute
v1_9_3_392 -
Show latest stable
-
0 notes -
Class: ContentsCommand
- 1_8_6_287
- 1_8_7_72
- 1_8_7_330
- 1_9_1_378
- 1_9_2_180
- 1_9_3_125 (0)
- 1_9_3_392 (0)
- 2_1_10 (0)
- 2_2_9 (0)
- 2_4_6 (0)
- 2_5_5 (0)
- 2_6_3 (0)
- What's this?
execute()
public
Hide source
# File lib/rubygems/commands/contents_command.rb, line 47 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