[前][次][番号順一覧][スレッド一覧]

ruby-changes:11699

From: yugui <ko1@a...>
Date: Mon, 4 May 2009 21:47:44 +0900 (JST)
Subject: [ruby-changes:11699] Ruby:r23340 (ruby_1_9_1): merges r23208 from trunk into ruby_1_9_1.

yugui	2009-05-04 21:31:06 +0900 (Mon, 04 May 2009)

  New Revision: 23340

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23340

  Log:
    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].

  Modified files:
    branches/ruby_1_9_1/ChangeLog
    branches/ruby_1_9_1/gem_prelude.rb

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 23339)
+++ ruby_1_9_1/ChangeLog	(revision 23340)
@@ -1,3 +1,9 @@
+Sun Apr 19 13:17:25 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* 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@t...>
 
 	* array.c (rb_ary_flatten): flatten(0) works as Array#dup.
Index: ruby_1_9_1/gem_prelude.rb
===================================================================
--- ruby_1_9_1/gem_prelude.rb	(revision 23339)
+++ ruby_1_9_1/gem_prelude.rb	(revision 23340)
@@ -245,16 +245,18 @@
           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
+          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
-          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
-            end
           end
 
           QuickLoader.load_full_rubygems_library

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]