Methods
Class Public methods
delegate_to_scoped_klass(method)
Link
# File activerecord/lib/active_record/relation/delegation.rb, line 10 def self.delegate_to_scoped_klass(method) if method.to_s =~ /\A[a-zA-Z_]\w*[!?]?\z/ module_eval " def #{method}(*args, &block) scoping { @klass.#{method}(*args, &block) } end ", __FILE__, __LINE__ + 1 else module_eval " def #{method}(*args, &block) scoping { @klass.send(#{method.inspect}, *args, &block) } end ", __FILE__, __LINE__ + 1 end end
Instance Public methods
respond_to?(method, include_private = false)
Link
Instance Protected methods
method_missing(method, *args, &block)
Link
# File activerecord/lib/active_record/relation/delegation.rb, line 34 def method_missing(method, *args, &block) if @klass.respond_to?(method) ::ActiveRecord::Delegation.delegate_to_scoped_klass(method) scoping { @klass.send(method, *args, &block) } elsif Array.method_defined?(method) ::ActiveRecord::Delegation.delegate method, :to => :to_a to_a.send(method, *args, &block) elsif arel.respond_to?(method) ::ActiveRecord::Delegation.delegate method, :to => :arel arel.send(method, *args, &block) else super end end