![show/hide quicksearch [+]](../../images/find.png)
 
               # File rubygems/commands/sources_command.rb, line 10
def initialize
  require 'fileutils'
  super 'sources',
        'Manage the sources and cache file RubyGems uses to search for gems'
  add_option '-a', '--add SOURCE_URI', 'Add source' do |value, options|
    options[:add] = value
  end
  add_option '-l', '--list', 'List sources' do |value, options|
    options[:list] = value
  end
  add_option '-r', '--remove SOURCE_URI', 'Remove source' do |value, options|
    options[:remove] = value
  end
  add_option '-c', '--clear-all',
             'Remove all sources (clear the cache)' do |value, options|
    options[:clear_all] = value
  end
  add_option '-u', '--update', 'Update source cache' do |value, options|
    options[:update] = value
  end
  add_option '-f', '--[no-]force', "Do not show any confirmation prompts and behave as if 'yes' was always answered" do |value, options|
    options[:force] = value
  end
  add_proxy_option
end
             
             
               # File rubygems/commands/sources_command.rb, line 70
  def check_typo_squatting(source)
    if source.typo_squatting?("rubygems.org")
      question = "#{source.uri.to_s} is too similar to https://rubygems.org
Do you want to add this source?
".chomp
      terminate_interaction 1 unless options[:force] || ask_yes_no(question)
    end
  end
             
             
               # File rubygems/commands/sources_command.rb, line 181
def execute
  clear_all if options[:clear_all]
  source_uri = options[:add]
  add_source source_uri if source_uri
  source_uri = options[:remove]
  remove_source source_uri if source_uri
  update if options[:update]
  list if list?
end