61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# File 'activerecord/lib/active_record/relation/delegation.rb', line 61
def delegate_to_scoped_klass(method)
@delegation_mutex.synchronize do
return if method_defined?(method)
if /\A[a-zA-Z_]\w*[!?]?\z/.match?(method)
module_eval <<-RUBY, __FILE__, __LINE__ + 1
def #{method}(*args, &block)
scoping { @klass.#{method}(*args, &block) }
end
RUBY
else
define_method method do |*args, &block|
scoping { @klass.public_send(method, *args, &block) }
end
end
end
end
|