Class: Gem::TestCase::StaticSet (Ruby 2.3.4)

In Files

  • rubygems/test_case.rb

Class/Module Index [+]

Quicksearch

Gem::TestCase::StaticSet

The StaticSet is a static set of gem specifications used for testing only. It is available by requiring Gem::TestCase.

Attributes

remote[RW]

A StaticSet ignores remote because it has a fixed set of gems.

Public Class Methods

new(specs)

Creates a new StaticSet for the given specs

 
               # File rubygems/test_case.rb, line 1358
def initialize(specs)
  super()

  @specs = specs

  @remote = true
end
            

Public Instance Methods

add(spec)

Adds spec to this set.

 
               # File rubygems/test_case.rb, line 1369
def add spec
  @specs << spec
end
            
find_all(dep)

Finds all gems matching dep in this set.

 
               # File rubygems/test_case.rb, line 1385
def find_all(dep)
  @specs.find_all { |s| dep.match? s, @prerelease }
end
            
find_spec(dep)

Finds dep in this set.

 
               # File rubygems/test_case.rb, line 1376
def find_spec(dep)
  @specs.reverse_each do |s|
    return s if dep.matches_spec? s
  end
end
            
load_spec(name, ver, platform, source)

Loads a Gem::Specification from this set which has the given name, version ver, platform. The source is ignored.

 
               # File rubygems/test_case.rb, line 1393
def load_spec name, ver, platform, source
  dep = Gem::Dependency.new name, ver
  spec = find_spec dep

  Gem::Specification.new spec.name, spec.version do |s|
    s.platform = spec.platform
  end
end