class Gem::Commands::SourcesCommand

Public Class Methods

Calls superclass method Gem::Command::new
# File lib/rubygems/commands/sources_command.rb, line 11
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 "--append SOURCE_URI", "Append source (can be used multiple times)" do |value, options|
    options[:append] = value
  end

  add_option "-p", "--prepend SOURCE_URI", "Prepend source (can be used multiple times)" do |value, options|
    options[:prepend] = 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

Public Instance Methods

# File lib/rubygems/commands/sources_command.rb, line 132
  def check_typo_squatting(source)
    if source.typo_squatting?("rubygems.org")
      question = <<-QUESTION.chomp
#{source.uri} is too similar to https://rubygems.org

Do you want to add this source?
      QUESTION

      terminate_interaction 1 unless options[:force] || ask_yes_no(question)
    end
  end
# File lib/rubygems/commands/sources_command.rb, line 259
def execute
  clear_all if options[:clear_all]

  add_source options[:add] if options[:add]

  prepend_source options[:prepend] if options[:prepend]

  append_source options[:append] if options[:append]

  remove_source options[:remove] if options[:remove]

  update if options[:update]

  list if list?
end