Class: Gem::TestCase::StaticSet

Inherits:
Resolver::Set show all
Defined in:
lib/rubygems/test_case.rb

Overview

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

Instance Attribute Summary collapse

Attributes inherited from Resolver::Set

#errors, #prerelease

Instance Method Summary collapse

Methods inherited from Resolver::Set

#remote?

Constructor Details

#initialize(specs) ⇒ StaticSet

Creates a new StaticSet for the given specs



1457
1458
1459
1460
1461
1462
1463
# File 'lib/rubygems/test_case.rb', line 1457

def initialize(specs)
  super()

  @specs = specs

  @remote = true
end

Instance Attribute Details

#remoteObject

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



1452
1453
1454
# File 'lib/rubygems/test_case.rb', line 1452

def remote
  @remote
end

Instance Method Details

#add(spec) ⇒ Object

Adds spec to this set.



1468
1469
1470
# File 'lib/rubygems/test_case.rb', line 1468

def add(spec)
  @specs << spec
end

#find_all(dep) ⇒ Object

Finds all gems matching dep in this set.



1484
1485
1486
# File 'lib/rubygems/test_case.rb', line 1484

def find_all(dep)
  @specs.find_all {|s| dep.match? s, @prerelease }
end

#find_spec(dep) ⇒ Object

Finds dep in this set.



1475
1476
1477
1478
1479
# File 'lib/rubygems/test_case.rb', line 1475

def find_spec(dep)
  @specs.reverse_each do |s|
    return s if dep.matches_spec? s
  end
end

#load_spec(name, ver, platform, source) ⇒ Object

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



1492
1493
1494
1495
1496
1497
1498
1499
# File 'lib/rubygems/test_case.rb', line 1492

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

#prefetch(reqs) ⇒ Object

:nodoc:



1501
1502
# File 'lib/rubygems/test_case.rb', line 1501

def prefetch(reqs) # :nodoc:
end