summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-04 12:31:06 +0000
committeryugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-05-04 12:31:06 +0000
commit184abbe8a30938a5d7c79da333285b85cb7f00e3 (patch)
treeeeb7e4006767837271acf4861c519838eb2013e8
parent974d1ae2870ecea56b708a2d40baf265b9d7b20c (diff)
merges r23208 from trunk into ruby_1_9_1.
-- * gem_prelude.rb (Gem::QuickLoader#push_gem_version_on_load_path): check for requirement if the gem is installed. a patch from Kyosuke MOROHASHI at [ruby-dev:38020]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_1@23340 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog6
-rw-r--r--gem_prelude.rb20
2 files changed, 17 insertions, 9 deletions
diff --git a/ChangeLog b/ChangeLog
index 4f0f2d348a..f0583b26df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+Sun Apr 19 13:17:25 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * gem_prelude.rb (Gem::QuickLoader#push_gem_version_on_load_path):
+ check for requirement if the gem is installed. a patch from
+ Kyosuke MOROHASHI at [ruby-dev:38020].
+
Wed Apr 15 20:24:49 2009 Yusuke Endoh <mame@tsg.ne.jp>
* array.c (rb_ary_flatten): flatten(0) works as Array#dup.
diff --git a/gem_prelude.rb b/gem_prelude.rb
index 553912c83d..4eb0e4e304 100644
--- a/gem_prelude.rb
+++ b/gem_prelude.rb
@@ -245,15 +245,17 @@ if defined?(Gem) then
requirement, version = version_requirements[0].split
requirement.strip!
- if requirement == ">" || requirement == ">="
- if (GemVersions[gem_name] <=> Gem.calculate_integers_for_gem_version(version)) >= 0
- return false
- end
- elsif requirement == "~>"
- loaded_version = GemVersions[gem_name]
- required_version = Gem.calculate_integers_for_gem_version(version)
- if loaded_version && (loaded_version[0] == required_version[0])
- return false
+ if loaded_version = GemVersions[gem_name]
+ case requirement
+ when ">", ">="
+ if (loaded_version <=> Gem.calculate_integers_for_gem_version(version)) >= 0
+ return false
+ end
+ when "~>"
+ required_version = Gem.calculate_integers_for_gem_version(version)
+ if (loaded_version[0] == required_version[0])
+ return false
+ end
end
end