Merge pull request #1768 from stevehodgkiss/3-1-stable

3 1 stable
This commit is contained in:
José Valim
2011-06-19 04:50:21 -07:00
4 changed files with 34 additions and 0 deletions

View File

@@ -426,6 +426,14 @@ module ActiveRecord
@testing = testing
end
def method_missing(method_sym, *arguments, &block)
@body.send(method_sym, *arguments, &block)
end
def respond_to?(method_sym, include_private = false)
super || @body.respond_to?(method_sym)
end
def each(&block)
body.each(&block)
end

View File

@@ -33,6 +33,14 @@ module ActiveRecord
@target = target
end
def method_missing(method_sym, *arguments, &block)
@target.send(method_sym, *arguments, &block)
end
def respond_to?(method_sym, include_private = false)
super || @target.respond_to?(method_sym)
end
def each(&block)
@target.each(&block)
end

View File

@@ -77,6 +77,13 @@ module ActiveRecord
@management.call(@env)
assert ActiveRecord::Base.connection_handler.active_connections?
end
test "proxy is polite to it's body and responds to it" do
body = Class.new(String) { def to_path; "/path"; end }.new
proxy = ConnectionManagement::Proxy.new(body)
assert proxy.respond_to?(:to_path)
assert_equal proxy.to_path, "/path"
end
end
end
end

View File

@@ -203,3 +203,14 @@ class QueryCacheExpiryTest < ActiveRecord::TestCase
end
end
end
class QueryCacheBodyProxyTest < ActiveRecord::TestCase
test "is polite to it's body and responds to it" do
body = Class.new(String) { def to_path; "/path"; end }.new
proxy = ActiveRecord::QueryCache::BodyProxy.new(nil, body)
assert proxy.respond_to?(:to_path)
assert_equal proxy.to_path, "/path"
end
end