summaryrefslogtreecommitdiff
path: root/lib/bundler/dependency.rb
diff options
context:
space:
mode:
authorMike Virata-Stone <mjstone@on-site.com>2015-11-18 17:16:19 -0800
committerMike Virata-Stone <mjstone@on-site.com>2015-11-18 17:16:19 -0800
commit4b7a940f668d1884d9266946a48ba55a80c4d513 (patch)
treefa3e167f5a470603d2a425be137741269fbdcdbe /lib/bundler/dependency.rb
parentf787c664b4645fb44066b140b3b9afee542590c9 (diff)
downloadbundler-4b7a940f668d1884d9266946a48ba55a80c4d513.tar.gz
When loading a gem from a gemspec, restrict to the platforms defined in the gemspec
This fixes #4102
Diffstat (limited to 'lib/bundler/dependency.rb')
-rw-r--r--lib/bundler/dependency.rb9
1 files changed, 9 insertions, 0 deletions
diff --git a/lib/bundler/dependency.rb b/lib/bundler/dependency.rb
index 660b3355bd..f3e640b676 100644
--- a/lib/bundler/dependency.rb
+++ b/lib/bundler/dependency.rb
@@ -54,6 +54,15 @@ module Bundler
:x64_mingw_23 => Gem::Platform::X64_MINGW
}.freeze
+ REVERSE_PLATFORM_MAP = {}.tap do |reverse_platform_map|
+ PLATFORM_MAP.each do |key, value|
+ reverse_platform_map[value] ||= []
+ reverse_platform_map[value] << key
+ end
+
+ reverse_platform_map.each {|_, platforms| platforms.freeze }
+ end.freeze
+
def initialize(name, version, options = {}, &blk)
type = options["type"] || :runtime
super(name, version, type)