1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Use relations to build scope for named scopes

This commit is contained in:
Pratik Naik 2010-01-17 04:20:11 +05:30
parent b8b6621acb
commit 7921a73acd

View file

@ -124,7 +124,7 @@ module ActiveRecord
end
end
delegate :scopes, :with_scope, :scoped_methods, :to => :proxy_scope
delegate :scopes, :with_scope, :scoped_methods, :unscoped, :to => :proxy_scope
def initialize(proxy_scope, options, &block)
options ||= {}
@ -186,6 +186,11 @@ module ActiveRecord
end
protected
def relation
@relation ||= unscoped.apply_finder_options(proxy_options)
end
def proxy_found
@found || load_found
end
@ -195,7 +200,7 @@ module ActiveRecord
if scopes.include?(method)
scopes[method].call(self, *args)
else
with_scope({:find => proxy_options, :create => proxy_options[:conditions].is_a?(Hash) ? proxy_options[:conditions] : {}}, :reverse_merge) do
with_scope(relation, :reverse_merge) do
method = :new if method == :build
if current_scoped_methods_when_defined && !scoped_methods.include?(current_scoped_methods_when_defined)
with_scope current_scoped_methods_when_defined do