aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/string/xchar.rb
diff options
context:
space:
mode:
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