String#to_xs uses the fast_xs extension if available for Builder speedup.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7773 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper 2007-10-07 09:15:26 +00:00
parent 4430a00c04
commit 845e6ff45a
10 changed files with 31 additions and 10 deletions

@ -1,4 +1,5 @@
require 'erb'
require 'builder'
class ERB
module Util

@ -1,5 +1,7 @@
*SVN*
* String#to_xs uses the fast_xs extension if available for Builder speedup. [Jeremy Kemper]
* Introduce BasicObject as Builder::BlankSlate for Ruby 1.9 forward compatibility. [Jeremy Kemper]
* Unbundle Builder in favor of a gem dependency. [Jeremy Kemper]

@ -18,6 +18,7 @@ task :default => :test
Rake::TestTask.new { |t|
t.pattern = 'test/**/*_test.rb'
t.verbose = true
t.warning = true
}
# Create compressed packages

@ -24,6 +24,8 @@
$:.unshift(File.dirname(__FILE__))
$:.unshift(File.dirname(__FILE__) + "/active_support/vendor")
require 'rubygems'
require 'active_support/basic_object'
require 'active_support/inflector'

@ -1,6 +1,5 @@
# Ruby 1.9 introduces BasicObject. Use Builder's BlankSlate before then.
# Ruby 1.9 introduces BasicObject. Use Builder's BlankSlate until then.
unless defined? BasicObject
require 'rubygems'
require 'builder'
require 'builder/blankslate'
BasicObject = Builder::BlankSlate
end

@ -1,3 +1,5 @@
require 'builder'
module ActiveSupport #:nodoc:
module CoreExtensions #:nodoc:
module Array #:nodoc:

@ -2,6 +2,7 @@
require 'xml_simple'
require 'cgi'
require 'base64'
require 'builder'
# Extensions needed for Hash#to_query
class Object

@ -4,6 +4,7 @@
require 'active_support/core_ext/string/starts_ends_with'
require 'active_support/core_ext/string/iterators' unless 'test'.respond_to?(:each_char)
require 'active_support/core_ext/string/unicode'
require 'active_support/core_ext/string/xchar'
class String #:nodoc:
include ActiveSupport::CoreExtensions::String::Access

@ -0,0 +1,10 @@
begin
require 'fast_xs'
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

@ -5,13 +5,15 @@
require 'active_support'
# Wrap tests that use Mocha and skip if unavailable.
def uses_mocha(test_name)
require 'rubygems'
gem 'mocha', '>= 0.5.5'
require 'mocha'
yield
rescue LoadError
$stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again."
unless defined? uses_mocha
def uses_mocha(test_name)
require 'rubygems'
gem 'mocha', '>= 0.5.5'
require 'mocha'
yield
rescue LoadError
$stderr.puts "Skipping #{test_name} tests. `gem install mocha` and try again."
end
end
# Show backtraces for deprecated behavior for quicker cleanup.