summaryrefslogtreecommitdiff
path: root/ruby_2_2/lib/rubygems/exceptions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'ruby_2_2/lib/rubygems/exceptions.rb')
-rw-r--r--ruby_2_2/lib/rubygems/exceptions.rb270
1 files changed, 0 insertions, 270 deletions
diff --git a/ruby_2_2/lib/rubygems/exceptions.rb b/ruby_2_2/lib/rubygems/exceptions.rb
deleted file mode 100644
index 2a9875cd24..0000000000
--- a/ruby_2_2/lib/rubygems/exceptions.rb
+++ /dev/null
@@ -1,270 +0,0 @@
-# TODO: the documentation in here is terrible.
-#
-# Each exception needs a brief description and the scenarios where it is
-# likely to be raised
-
-##
-# Base exception class for RubyGems. All exception raised by RubyGems are a
-# subclass of this one.
-class Gem::Exception < RuntimeError
-
- ##
- #--
- # TODO: remove in RubyGems 3, nobody sets this
-
- attr_accessor :source_exception # :nodoc:
-
-end
-
-class Gem::CommandLineError < Gem::Exception; end
-
-class Gem::DependencyError < Gem::Exception; end
-
-class Gem::DependencyRemovalException < Gem::Exception; end
-
-##
-# Raised by Gem::Resolver when a Gem::Dependency::Conflict reaches the
-# toplevel. Indicates which dependencies were incompatible through #conflict
-# and #conflicting_dependencies
-
-class Gem::DependencyResolutionError < Gem::DependencyError
-
- attr_reader :conflict
-
- def initialize conflict
- @conflict = conflict
- a, b = conflicting_dependencies
-
- super "conflicting dependencies #{a} and #{b}\n#{@conflict.explanation}"
- end
-
- def conflicting_dependencies
- @conflict.conflicting_dependencies
- end
-
-end
-
-##
-# Raised when attempting to uninstall a gem that isn't in GEM_HOME.
-
-class Gem::GemNotInHomeException < Gem::Exception
- attr_accessor :spec
-end
-
-class Gem::DocumentError < Gem::Exception; end
-
-##
-# Potentially raised when a specification is validated.
-class Gem::EndOfYAMLException < Gem::Exception; end
-
-##
-# Signals that a file permission error is preventing the user from
-# operating on the given directory.
-
-class Gem::FilePermissionError < Gem::Exception
-
- attr_reader :directory
-
- def initialize directory
- @directory = directory
-
- super "You don't have write permissions for the #{directory} directory."
- end
-
-end
-
-##
-# Used to raise parsing and loading errors
-class Gem::FormatException < Gem::Exception
- attr_accessor :file_path
-end
-
-class Gem::GemNotFoundException < Gem::Exception; end
-
-##
-# Raised by the DependencyInstaller when a specific gem cannot be found
-
-class Gem::SpecificGemNotFoundException < Gem::GemNotFoundException
-
- ##
- # Creates a new SpecificGemNotFoundException for a gem with the given +name+
- # and +version+. Any +errors+ encountered when attempting to find the gem
- # are also stored.
-
- def initialize(name, version, errors=nil)
- super "Could not find a valid gem '#{name}' (#{version}) locally or in a repository"
-
- @name = name
- @version = version
- @errors = errors
- end
-
- ##
- # The name of the gem that could not be found.
-
- attr_reader :name
-
- ##
- # The version of the gem that could not be found.
-
- attr_reader :version
-
- ##
- # Errors encountered attempting to find the gem.
-
- attr_reader :errors
-
-end
-
-##
-# Raised by Gem::Resolver when dependencies conflict and create the
-# inability to find a valid possible spec for a request.
-
-class Gem::ImpossibleDependenciesError < Gem::Exception
-
- attr_reader :conflicts
- attr_reader :request
-
- def initialize request, conflicts
- @request = request
- @conflicts = conflicts
-
- super build_message
- end
-
- def build_message # :nodoc:
- requester = @request.requester
- requester = requester ? requester.spec.full_name : 'The user'
- dependency = @request.dependency
-
- message = "#{requester} requires #{dependency} but it conflicted:\n"
-
- @conflicts.each do |_, conflict|
- message << conflict.explanation
- end
-
- message
- end
-
- def dependency
- @request.dependency
- end
-
-end
-
-class Gem::InstallError < Gem::Exception; end
-
-##
-# Potentially raised when a specification is validated.
-class Gem::InvalidSpecificationException < Gem::Exception; end
-
-class Gem::OperationNotSupportedError < Gem::Exception; end
-
-##
-# Signals that a remote operation cannot be conducted, probably due to not
-# being connected (or just not finding host).
-#--
-# TODO: create a method that tests connection to the preferred gems server.
-# All code dealing with remote operations will want this. Failure in that
-# method should raise this error.
-class Gem::RemoteError < Gem::Exception; end
-
-class Gem::RemoteInstallationCancelled < Gem::Exception; end
-
-class Gem::RemoteInstallationSkipped < Gem::Exception; end
-
-##
-# Represents an error communicating via HTTP.
-class Gem::RemoteSourceException < Gem::Exception; end
-
-##
-# Raised when a gem dependencies file specifies a ruby version that does not
-# match the current version.
-
-class Gem::RubyVersionMismatch < Gem::Exception; end
-
-##
-# Raised by Gem::Validator when something is not right in a gem.
-
-class Gem::VerificationError < Gem::Exception; end
-
-##
-# Raised to indicate that a system exit should occur with the specified
-# exit_code
-
-class Gem::SystemExitException < SystemExit
-
- ##
- # The exit code for the process
-
- attr_accessor :exit_code
-
- ##
- # Creates a new SystemExitException with the given +exit_code+
-
- def initialize(exit_code)
- @exit_code = exit_code
-
- super "Exiting RubyGems with exit_code #{exit_code}"
- end
-
-end
-
-##
-# Raised by Resolver when a dependency requests a gem for which
-# there is no spec.
-
-class Gem::UnsatisfiableDependencyError < Gem::DependencyError
-
- ##
- # The unsatisfiable dependency. This is a
- # Gem::Resolver::DependencyRequest, not a Gem::Dependency
-
- attr_reader :dependency
-
- ##
- # Errors encountered which may have contributed to this exception
-
- attr_accessor :errors
-
- ##
- # Creates a new UnsatisfiableDependencyError for the unsatisfiable
- # Gem::Resolver::DependencyRequest +dep+
-
- def initialize dep, platform_mismatch=nil
- if platform_mismatch and !platform_mismatch.empty?
- plats = platform_mismatch.map { |x| x.platform.to_s }.sort.uniq
- super "Unable to resolve dependency: No match for '#{dep}' on this platform. Found: #{plats.join(', ')}"
- else
- if dep.explicit?
- super "Unable to resolve dependency: user requested '#{dep}'"
- else
- super "Unable to resolve dependency: '#{dep.request_context}' requires '#{dep}'"
- end
- end
-
- @dependency = dep
- @errors = []
- end
-
- ##
- # The name of the unresolved dependency
-
- def name
- @dependency.name
- end
-
- ##
- # The Requirement of the unresolved dependency (not Version).
-
- def version
- @dependency.requirement
- end
-
-end
-
-##
-# Backwards compatible typo'd exception class for early RubyGems 2.0.x
-
-Gem::UnsatisfiableDepedencyError = Gem::UnsatisfiableDependencyError # :nodoc:
-