Patch #12499
closedUse lambda in model scopes
0%
Description
Yesterday I had to monkey-patch "Group" in a plugin, and it turned out to be really difficult because there's a scope defined in the Group class which doesn't use lambda. In this case, the scope is evaluated directly, which fails with "Could not find table users" for instance if you're in a "db:migrate" phase and your database is empty.
Hence I propose moving all scopes to their lambda form so that these difficulties disappear for plugin development.
One more thing, using scopes without lambda (or a call-able) will be deprecated in Rails 4 and probably removed in Rails 4.1 (see this commit).
Let me know what you think. If you're OK with this change I can take care of verifying all models, running tests and making the change everywhere...
Updated by Jean-Baptiste Barth about 12 years ago
Updated by Etienne Massip about 12 years ago
Looks ok to me, should be marked as a deprecated usage in RoR, too bad it is not?
Updated by Jean-Baptiste Barth about 12 years ago
- Status changed from New to Resolved
Done in r10949. I left scopes in the same form they used before (some use Arel syntax, some use the rails 2 hash syntax) but I might dig into that later.
Updated by Jean-Philippe Lang about 12 years ago
- Status changed from Resolved to Closed