diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-21 03:05:44 -0700 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2009-03-21 04:35:16 -0700 |
commit | a970e32c91848a720825302eebae4d4ca7f290fa (patch) | |
tree | 6bce8aa13e47b710003031f02ee26ee86ced6937 | |
parent | dd15a3fee0ded53cf91c7796e3527db366d1327a (diff) | |
download | rails-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
-rw-r--r-- | activesupport/lib/active_support/core_ext/string/xchar.rb | 13 | ||||
-rw-r--r-- | activesupport/lib/active_support/vendor.rb | 1 | ||||
-rw-r--r-- | activesupport/test/core_ext/hash_ext_test.rb | 1 |
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 |