Advanced Querying Introduction

This is a companion discussion topic for the original entry at

I believe one of the main differences between ActiveRecord scopes and class methods, is that scopes always return chainable objects. However to get the class method to work the same way, we have to specifically handle the case where something can be nil

Anyone know any other difference?

The big difference is scopes are chainable, and take just a one liner to implement robust functionality, especially if you have to check for null.