On Thursday, May 31, 2012 4:50:05 PM UTC+2, Steve Klabnik wrote:
>
> It's not saving a character. It's that !! is programmer talk, and ? is
> human talk. Ruby prefers human talk.
>
well your kung-fu beats my kung-fu here
i just don't think post.url? is talking proper human talk to me, i would
expect answer to that question to be "no, post is not a url" instead i
will get "yes, url attribute is not empty".
> I guess Rafael meant another thing. You have boolean fields in
> PostgreSQL but someone might prefer to use some old ANSI types, like
> INTEGER for storing such booleans for some reason.
i think that first of all this is rather an edge-case that shouldn't force
us to go against least surprise principle
second - this directly goes against Steve's assumption that
post = Post.new
post.id = 0
assert post.id?
should not fail (it fails because 0 is apparently false.. since when?)
i personally think this smells a lot like PHP and it's non-logical,
generally ugly and wrong truthiness/falseness checks
On Thursday, May 31, 2012 4:50:05 PM UTC+2, Steve Klabnik wrote:
>
> > but if we decide that there doesn't have to be semantical contribution
> to
> > your code from using attribute query methods then #{attribute}? is just
> > a shortcut for !!#{attribute} - so why do we need it in the first place?
> > saving 1 character is weird goal here.
>
> It's not saving a character. It's that !! is programmer talk, and ? is
> human talk. Ruby prefers human talk.
>
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Core" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/rubyonrails-core/-/KND68A_wF8sJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-core?hl=en.