summaryrefslogtreecommitdiff
path: root/lib/rubygems/exceptions.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/exceptions.rb')
-rw-r--r--lib/rubygems/exceptions.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rubygems/exceptions.rb b/lib/rubygems/exceptions.rb
index 804863f693..903abe0a6c 100644
--- a/lib/rubygems/exceptions.rb
+++ b/lib/rubygems/exceptions.rb
@@ -19,6 +19,7 @@ class Gem::DependencyRemovalException < Gem::Exception; end
# and #conflicting_dependencies
class Gem::DependencyResolutionError < Gem::DependencyError
+
attr_reader :conflict
def initialize(conflict)
@@ -31,20 +32,25 @@ class Gem::DependencyResolutionError < Gem::DependencyError
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
###
# Raised when removing a gem with the uninstall command fails
class Gem::UninstallError < Gem::Exception
+
attr_accessor :spec
+
end
class Gem::DocumentError < Gem::Exception; end
@@ -58,6 +64,7 @@ class Gem::EndOfYAMLException < Gem::Exception; end
# operating on the given directory.
class Gem::FilePermissionError < Gem::Exception
+
attr_reader :directory
def initialize(directory)
@@ -65,12 +72,15 @@ class Gem::FilePermissionError < Gem::Exception
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
@@ -79,6 +89,7 @@ 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
@@ -106,6 +117,7 @@ class Gem::SpecificGemNotFoundException < Gem::GemNotFoundException
# Errors encountered attempting to find the gem.
attr_reader :errors
+
end
##
@@ -113,6 +125,7 @@ end
# inability to find a valid possible spec for a request.
class Gem::ImpossibleDependenciesError < Gem::Exception
+
attr_reader :conflicts
attr_reader :request
@@ -140,14 +153,17 @@ class Gem::ImpossibleDependenciesError < Gem::Exception
def dependency
@request.dependency
end
+
end
class Gem::InstallError < Gem::Exception; end
class Gem::RuntimeRequirementNotMetError < Gem::InstallError
+
attr_accessor :suggestion
def message
[suggestion, super].compact.join("\n\t")
end
+
end
##
@@ -189,6 +205,7 @@ class Gem::VerificationError < Gem::Exception; end
# exit_code
class Gem::SystemExitException < SystemExit
+
##
# The exit code for the process
@@ -202,6 +219,7 @@ class Gem::SystemExitException < SystemExit
super "Exiting RubyGems with exit_code #{exit_code}"
end
+
end
##
@@ -209,6 +227,7 @@ end
# there is no spec.
class Gem::UnsatisfiableDependencyError < Gem::DependencyError
+
##
# The unsatisfiable dependency. This is a
# Gem::Resolver::DependencyRequest, not a Gem::Dependency
@@ -253,6 +272,7 @@ class Gem::UnsatisfiableDependencyError < Gem::DependencyError
def version
@dependency.requirement
end
+
end
##