summaryrefslogtreecommitdiff
path: root/lib/bundler/spec_set.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/bundler/spec_set.rb')
-rw-r--r--lib/bundler/spec_set.rb17
1 files changed, 9 insertions, 8 deletions
diff --git a/lib/bundler/spec_set.rb b/lib/bundler/spec_set.rb
index 901888a11e..3149c752b4 100644
--- a/lib/bundler/spec_set.rb
+++ b/lib/bundler/spec_set.rb
@@ -1,21 +1,18 @@
require 'tsort'
+require 'forwardable'
module Bundler
class SpecSet
+ extend Forwardable
include TSort, Enumerable
+ def_delegators :@specs, :<<, :length, :add, :remove
+ def_delegators :sorted, :each
+
def initialize(specs)
@specs = specs.sort_by { |s| s.name }
end
- def each
- sorted.each { |s| yield s }
- end
-
- def length
- @specs.length
- end
-
def for(dependencies, skip = [], check = false, match_current_platform = false)
handled, deps, specs = {}, dependencies.dup, []
skip << 'bundler'
@@ -68,6 +65,10 @@ module Bundler
value
end
+ def sort!
+ self
+ end
+
def to_a
sorted.dup
end