diff options
author | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-11-01 06:14:56 +0000 |
---|---|---|
committer | evanweaver <evanweaver@19e92222-5c0b-0410-8929-a290d50e31e9> | 2007-11-01 06:14:56 +0000 |
commit | e7e39dd8868bed091431fe7d9d87a9dd460e7169 (patch) | |
tree | a684a43478e25922d07533a1c30f18430d84f2b8 /lib | |
parent | 6329da413e94425565b35160dcf89dbea0c4d9e7 (diff) | |
download | unicorn-e7e39dd8868bed091431fe7d9d87a9dd460e7169.tar.gz |
git-svn-id: svn+ssh://rubyforge.org/var/svn/mongrel/trunk@865 19e92222-5c0b-0410-8929-a290d50e31e9
Diffstat (limited to 'lib')
-rw-r--r-- | lib/mongrel.rb | 2 | ||||
-rw-r--r-- | lib/mongrel/gems.rb | 23 |
2 files changed, 24 insertions, 1 deletions
diff --git a/lib/mongrel.rb b/lib/mongrel.rb index c5d41fa..e0dcab1 100644 --- a/lib/mongrel.rb +++ b/lib/mongrel.rb @@ -348,4 +348,4 @@ end # in regular Mongrel. $LOAD_PATH.unshift 'projects/mongrel_experimental/lib/' -Mongrel::Gems.require 'mongrel_experimental', '=1.1' +Mongrel::Gems.require 'mongrel_experimental', ">=#{Mongrel::Const::MONGREL_VERSION}" diff --git a/lib/mongrel/gems.rb b/lib/mongrel/gems.rb new file mode 100644 index 0000000..4b34552 --- /dev/null +++ b/lib/mongrel/gems.rb @@ -0,0 +1,23 @@ +module Mongrel + module Gems + class << self + + alias :original_require :require + + def require(library, version = nil) + begin + original_require library + rescue LoadError, RuntimeError => e + unless respond_to? 'gem' + # ActiveSupport breaks 'require' by making it always return a true value + require 'rubygems' + gem library, version if version + retry + end + # Fail without reraising + end + end + + end + end +end
\ No newline at end of file |