diff options
Diffstat (limited to 'lib/rubygems/resolver/installed_specification.rb')
-rw-r--r-- | lib/rubygems/resolver/installed_specification.rb | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/rubygems/resolver/installed_specification.rb b/lib/rubygems/resolver/installed_specification.rb new file mode 100644 index 0000000000..647ff7499a --- /dev/null +++ b/lib/rubygems/resolver/installed_specification.rb @@ -0,0 +1,34 @@ +## +# An InstalledSpecification represents a gem that is already installed +# locally. + +class Gem::Resolver::InstalledSpecification < Gem::Resolver::SpecSpecification + + def == other # :nodoc: + self.class === other and + @set == other.set and + @spec == other.spec + end + + ## + # Returns +true+ if this gem is installable for the current platform. + + def installable_platform? + # BACKCOMPAT If the file is coming out of a specified file, then we + # ignore the platform. This code can be removed in RG 3.0. + if @source.kind_of? Gem::Source::SpecificFile + return true + else + Gem::Platform.match @spec.platform + end + end + + ## + # The source for this specification + + def source + @source ||= Gem::Source::Installed.new + end + +end + |