If I have a scope with a lambda and it takes an argument, depending on the value of the argument, I might know that there will not be any matches, but I still want to return
scope :none, limit(0)
Is a dangerous solution because your scope might be chained upon.
User.none.first
will return the first user. It's safer to use
scope :none, where('1 = 0')