ActiveRecord models has a weird behavior. class Post < ActiveRecord::Base end % Post.default_scopes? # => true This happens because Post.default_scopes returns an empty array and .default_scopes? calls !![] which is true. But this can be confusing, don't you think?
on 2013-03-11 08:31
on 2013-03-11 11:15
On 11 March 2013 07:30, powi <corestudiosinc@gmail.com> wrote: > ActiveRecord models has a weird behavior. > > class Post < ActiveRecord::Base > end > > % Post.default_scopes? # => true > > This happens because Post.default_scopes returns an empty array and > .default_scopes? calls !![] which is true. But this can be confusing, don't > you think? I can't seem to find the docs for default_scopes? Can you point me to it? Colin
on 2013-03-11 22:50
On 11 March 2013 21:26, powi <corestudiosinc@gmail.com> wrote:
> It's not documented since it's dynamically defined.
Many dynamically defined methods are documented in various places (in
the Rails Guides for example).
If it is not documented how am I supposed to know how what it does?
Colin
on 2013-03-12 17:40
I'm sorry but I didn't wrote these methods. However, you can still understand what it does by: 1. using it in the rails console 2. reading the source 3. reading its name (in this particular occasion, it's very obvious)
on 2013-03-12 17:52
On 12 March 2013 16:39, powi <corestudiosinc@gmail.com> wrote: > I'm sorry but I didn't wrote these methods. > > However, you can still understand what it does by: > > using it in the rails console > reading the source > reading its name (in this particular occasion, it's very obvious) Generally I assume that if a method is not documented anywhere then it is probably not intended to be used by lesser mortals, and may be liable to change without warning, and therefore I do not care what the interface is. Perhaps that is not be a reasonable stance to take however. Colin
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.