Exception: Gem::ConflictError

Inherits:
LoadError show all
Defined in:
lib/rubygems/errors.rb

Overview

Raised when there are conflicting gem specs loaded

Instance Attribute Summary collapse

Attributes inherited from LoadError

#name, #requirement

Instance Method Summary collapse

Constructor Details

#initialize(target, conflicts) ⇒ ConflictError

Returns a new instance of ConflictError.



84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/rubygems/errors.rb', line 84

def initialize(target, conflicts)
  @target    = target
  @conflicts = conflicts
  @name      = target.name

  reason = conflicts.map do |act, dependencies|
    "#{act.full_name} conflicts with #{dependencies.join(", ")}"
  end.join ", "

  # TODO: improve message by saying who activated `con`

  super("Unable to activate #{target.full_name}, because #{reason}")
end

Instance Attribute Details

#conflictsObject (readonly)

A Hash mapping conflicting specifications to the dependencies that caused the conflict



77
78
79
# File 'lib/rubygems/errors.rb', line 77

def conflicts
  @conflicts
end

#targetObject (readonly)

The specification that had the conflict



82
83
84
# File 'lib/rubygems/errors.rb', line 82

def target
  @target
end