summaryrefslogtreecommitdiff
path: root/lib/bundler/resolver.rb
diff options
context:
space:
mode:
authorSamuel Giddins <segiddins@segiddins.me>2017-07-25 18:19:03 -0500
committerSamuel Giddins <segiddins@segiddins.me>2017-08-01 10:07:20 -0500
commitb64331dbe20efe3a8953ba06a540c26deb3eae48 (patch)
tree1ea9ff723668a168717250b889c27499e51cd620 /lib/bundler/resolver.rb
parentcf65fd8532c28e45263f9c96a5ee2b4086a440dd (diff)
downloadbundler-b64331dbe20efe3a8953ba06a540c26deb3eae48.tar.gz
Update prerelease logic for new molinillo
Diffstat (limited to 'lib/bundler/resolver.rb')
-rw-r--r--lib/bundler/resolver.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index efc2a720f6..0cf2da007a 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -169,6 +169,10 @@ module Bundler
def requirement_satisfied_by?(requirement, activated, spec)
return false unless requirement.matches_spec?(spec) || spec.source.is_a?(Source::Gemspec)
+ if spec.version.prerelease? && !requirement.prerelease? && search_for(requirement).any? {|sg| !sg.version.prerelease? }
+ vertex = activated.vertex_named(spec.name)
+ return false if vertex.requirements.none?(&:prerelease?)
+ end
spec.activate_platform!(requirement.__platform) if !@platforms || @platforms.include?(requirement.__platform)
true
end