aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/request_set.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 22:37:39 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-10-16 22:37:39 +0000
commita1d96c9f47653d191e3bd1172598087e722b1560 (patch)
tree480b1096e0e98d7b38e08d894e1599ed9247bccb /lib/rubygems/request_set.rb
parent86c24c443068af6aa97df199664f2feb22b6c096 (diff)
downloadruby-a1d96c9f47653d191e3bd1172598087e722b1560.tar.gz
* lib/rubygems: Update to RubyGems master 2abce58. Changes:
Fixed documentation generation when sdoc and json are installed as gems. Added some missing documentation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43317 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/request_set.rb')
-rw-r--r--lib/rubygems/request_set.rb22
1 files changed, 22 insertions, 0 deletions
diff --git a/lib/rubygems/request_set.rb b/lib/rubygems/request_set.rb
index bce6308d6d..3ff3e83ca6 100644
--- a/lib/rubygems/request_set.rb
+++ b/lib/rubygems/request_set.rb
@@ -5,6 +5,19 @@ require 'rubygems/dependency_list'
require 'rubygems/installer'
require 'tsort'
+##
+# A RequestSet groups a request to activate a set of dependencies.
+#
+# nokogiri = Gem::Dependency.new 'nokogiri', '~> 1.6'
+# pg = Gem::Dependency.new 'pg', '~> 0.14'
+#
+# set = Gem::RequestSet.new nokogiri, pg
+#
+# requests = set.resolve
+#
+# p requests.map { |r| r.full_name }
+# #=> ["nokogiri-1.6.0", "mini_portile-0.5.1", "pg-0.17.0"]
+
class Gem::RequestSet
include TSort
@@ -23,6 +36,15 @@ class Gem::RequestSet
attr_accessor :soft_missing
+ ##
+ # Creates a RequestSet for a list of Gem::Dependency objects, +deps+. You
+ # can then #resolve and #install the resolved list of dependencies.
+ #
+ # nokogiri = Gem::Dependency.new 'nokogiri', '~> 1.6'
+ # pg = Gem::Dependency.new 'pg', '~> 0.14'
+ #
+ # set = Gem::RequestSet.new nokogiri, pg
+
def initialize *deps
@dependencies = deps