method
execute
v1_9_3_392 -
Show latest stable
-
0 notes -
Class: SourcesCommand
- 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/sources_command.rb, line 44 def execute options[:list] = !(options[:add] || options[:clear_all] || options[:remove] || options[:update]) if options[:clear_all] then path = Gem::SpecFetcher.fetcher.dir FileUtils.rm_rf path unless File.exist? path then say "*** Removed specs cache ***" else unless File.writable? path then say "*** Unable to remove source cache (write protected) ***" else say "*** Unable to remove source cache ***" end terminate_interaction 1 end end if options[:add] then source_uri = options[:add] uri = URI.parse source_uri begin Gem::SpecFetcher.fetcher.load_specs uri, 'specs' Gem.sources << source_uri Gem.configuration.write say "#{source_uri} added to sources" rescue URI::Error, ArgumentError say "#{source_uri} is not a URI" terminate_interaction 1 rescue Gem::RemoteFetcher::FetchError => e say "Error fetching #{source_uri}:\n\t#{e.message}" terminate_interaction 1 end end if options[:remove] then source_uri = options[:remove] unless Gem.sources.include? source_uri then say "source #{source_uri} not present in cache" else Gem.sources.delete source_uri Gem.configuration.write say "#{source_uri} removed from sources" end end if options[:update] then fetcher = Gem::SpecFetcher.fetcher Gem.sources.each do |update_uri| update_uri = URI.parse update_uri fetcher.load_specs update_uri, 'specs' fetcher.load_specs update_uri, 'latest_specs' end say "source cache successfully updated" end if options[:list] then say "*** CURRENT SOURCES ***" say Gem.sources.each do |source| say source end end end