diff options
author | Samuel Giddins <segiddins@segiddins.me> | 2017-07-04 16:55:06 +0200 |
---|---|---|
committer | Samuel Giddins <segiddins@segiddins.me> | 2017-07-05 14:12:48 +0200 |
commit | 81ac8ab1f8d82ef3c2f085ccfa65f8a73e659157 (patch) | |
tree | e71f0c204e7c716df176b2d6d1172ff81383dd12 /lib/bundler/dependency.rb | |
parent | 0a201f40bc1a8276e529d60812f59a21b0b99138 (diff) | |
download | bundler-81ac8ab1f8d82ef3c2f085ccfa65f8a73e659157.tar.gz |
[Definition] Only sort platforms once in expand_dependenciesseg-bundler-2-specific-platform
Diffstat (limited to 'lib/bundler/dependency.rb')
-rw-r--r-- | lib/bundler/dependency.rb | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/lib/bundler/dependency.rb b/lib/bundler/dependency.rb index d2bac66cdb..5f1371dd62 100644 --- a/lib/bundler/dependency.rb +++ b/lib/bundler/dependency.rb @@ -90,16 +90,14 @@ module Bundler @autorequire = Array(options["require"] || []) if options.key?("require") end + # Returns the platforms this dependency is valid for, in the same order as + # passed in the `valid_platforms` parameter def gem_platforms(valid_platforms) return valid_platforms if @platforms.empty? - platforms = [] - @platforms.each do |p| - platform = PLATFORM_MAP[p] - next unless valid_platforms.include?(platform) - platforms |= [platform] - end - platforms + @gem_platforms ||= @platforms.map {|pl| PLATFORM_MAP[pl] }.compact.uniq + + valid_platforms & @gem_platforms end def should_include? |