aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorJeremy Kemper <jeremy@bitsweat.net>2009-03-21 03:05:44 -0700
committerJeremy Kemper <jeremy@bitsweat.net>2009-03-21 04:35:16 -0700
commita970e32c91848a720825302eebae4d4ca7f290fa (patch)
tree6bce8aa13e47b710003031f02ee26ee86ced6937 /activesupport
parentdd15a3fee0ded53cf91c7796e3527db366d1327a (diff)
downloadrails-a970e32c91848a720825302eebae4d4ca7f290fa.tar.gz
rails-a970e32c91848a720825302eebae4d4ca7f290fa.tar.bz2
rails-a970e32c91848a720825302eebae4d4ca7f290fa.zip
Only require builder at startup if we need to monkey with its String#to_xs demands
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/lib/active_support/core_ext/string/xchar.rb13
-rw-r--r--activesupport/lib/active_support/vendor.rb1
-rw-r--r--activesupport/test/core_ext/hash_ext_test.rb1
3 files changed, 10 insertions, 5 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/xchar.rb b/activesupport/lib/active_support/core_ext/string/xchar.rb
index df186e42d7..7183218634 100644
--- a/activesupport/lib/active_support/core_ext/string/xchar.rb
+++ b/activesupport/lib/active_support/core_ext/string/xchar.rb
@@ -1,11 +1,18 @@
begin
- # See http://bogomips.org/fast_xs/ by Eric Wong
+ # See http://bogomips.org/fast_xs/ by Eric Wong.
+ # Also included with hpricot.
require 'fast_xs'
+rescue LoadError
+ # fast_xs extension unavailable
+else
+ begin
+ require 'builder'
+ rescue LoadError
+ # builder demands the first shot at defining String#to_xs
+ end
class String
alias_method :original_xs, :to_xs if method_defined?(:to_xs)
alias_method :to_xs, :fast_xs
end
-rescue LoadError
- # fast_xs extension unavailable.
end
diff --git a/activesupport/lib/active_support/vendor.rb b/activesupport/lib/active_support/vendor.rb
index 28852e65c8..2be9b85c89 100644
--- a/activesupport/lib/active_support/vendor.rb
+++ b/activesupport/lib/active_support/vendor.rb
@@ -6,7 +6,6 @@ begin
rescue Gem::LoadError
$:.unshift "#{File.dirname(__FILE__)}/vendor/builder-2.1.2"
end
-require 'builder'
begin
gem 'memcache-client', '>= 1.6.5'
diff --git a/activesupport/test/core_ext/hash_ext_test.rb b/activesupport/test/core_ext/hash_ext_test.rb
index 0edac72fe7..d905b3d3bc 100644
--- a/activesupport/test/core_ext/hash_ext_test.rb
+++ b/activesupport/test/core_ext/hash_ext_test.rb
@@ -1,5 +1,4 @@
require 'abstract_unit'
-require 'builder'
class HashExtTest < Test::Unit::TestCase
def setup