Skip to content

Commit

Permalink
* gem_prelude.rb (Gem::QuickLoader#push_gem_version_on_load_path):
Browse files Browse the repository at this point in the history
  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/trunk@23208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
  • Loading branch information
nobu committed Apr 19, 2009
1 parent f3d5d70 commit 53054c0
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 9 deletions.
6 changes: 6 additions & 0 deletions 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].

Sun Apr 19 01:39:17 2009 Tanaka Akira <akr@fsij.org>

* process.c (proc_seteuid_m): defined to use rb_f_notimplement if not
Expand Down
20 changes: 11 additions & 9 deletions gem_prelude.rb
Expand Up @@ -245,15 +245,17 @@ def push_gem_version_on_load_path(gem_name, *version_requirements)
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

Expand Down

0 comments on commit 53054c0

Please sign in to comment.