summaryrefslogtreecommitdiff
path: root/lib/bundler/spec_set.rb
diff options
context:
space:
mode:
authorhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-01-04 13:10:58 +0000
committerhsbt <hsbt@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2019-01-04 13:10:58 +0000
commite97741e12a22d78825a3a9dfcb7382adb0e27855 (patch)
tree5344cb31a89df6fd5fbae92740d4229d655eee8f /lib/bundler/spec_set.rb
parent4bbbbb6a3f5bd242f740041a644311f97c4a0052 (diff)
Merge Bundler 2.0.1 from upstream.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66710 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/bundler/spec_set.rb')
-rw-r--r--lib/bundler/spec_set.rb28
1 files changed, 22 insertions, 6 deletions
diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb
index 5003b2cbec..bbdf04a7d6 100644
--- a/lib/bundler/spec_set.rb
+++ b/lib/bundler/spec_set.rb
@@ -1,16 +1,12 @@
# frozen_string_literal: true
require "tsort"
-require "forwardable"
require "set"
module Bundler
class SpecSet
- extend Forwardable
- include TSort, Enumerable
-
- def_delegators :@specs, :<<, :length, :add, :remove, :size, :empty?
- def_delegators :sorted, :each
+ include Enumerable
+ include TSort
def initialize(specs)
@specs = specs
@@ -132,6 +128,26 @@ module Bundler
what_required(req) << spec
end
+ def <<(spec)
+ @specs << spec
+ end
+
+ def length
+ @specs.length
+ end
+
+ def size
+ @specs.size
+ end
+
+ def empty?
+ @specs.empty?
+ end
+
+ def each(&b)
+ sorted.each(&b)
+ end
+
private
def sorted