aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/string/xchar.rb
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/lib/active_support/core_ext/string/xchar.rb
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/lib/active_support/core_ext/string/xchar.rb')
-rw-r--r--activesupport/lib/active_support/core_ext/string/xchar.rb13
1 files changed, 10 insertions, 3 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