As you can see here:
https://github.com/rails/rails/blob/master/activesupport/lib/active_support/core_ext/object/blank.rb#L55,
blank? is also implemented in FalseClass to always return true, so yes, it
was deliberate :)


On Thu, Jun 27, 2013 at 8:17 AM, Amitav Mohanty
<amitavmohant...@gmail.com>wrote:

> Hey
>
> On Wed, Jun 26, 2013 at 10:04 PM, Piotr Sarnacki <dro...@gmail.com> wrote:
>
>> While technically you could say that "false" is "present", it would be
>> really unintuitive for most of the people as present? is supposed to be
>> just opposite of blank? and is used to check for truthiness. Additionally
>> present? is used in Rails app for a long time, so even if part of Rails
>> Core had agreed with your arguments, I would be really surprised seeing
>> this changed.
>>
>
> To analyze the cause, I had looked at the definition of blank?
>
> def blank?
>   respond_to?(:empty?) ? empty? : !self
> end
>
> Since false does not respond to :empty?, it seems to be false being blank
> is just a by-product of the "!self" part of the function definition. What I
> wanted to understand is whether this was deliberate.
>
> Regards,
> Amitav
>
>
>>
>>
>> On Tue, Jun 25, 2013 at 7:10 PM, Matt Jones <al2o...@gmail.com> wrote:
>>
>>>
>>> On Jun 25, 2013, at 7:36 AM, James Pinto wrote:
>>>
>>> I understand where you're coming from,
>>> and I completely disagree
>>>
>>> false is blank, but it's not nil,
>>> however, in some cases, falseness should not be validated
>>>
>>> "validates_presence_of :aggrees_with_contract"* is correct, requires
>>> the user to check the contract*
>>> "validates_presence_of :displays_photo_for_guests" *is incorrect,
>>> because it's only a question and it's ok if the user forgets or chooses not
>>> to mark*
>>>
>>>
>>> If it's OK if the user doesn't send this value, *why* are you validating
>>> for it to be present? Set a default for your boolean column (which you
>>> should be doing anyways :) ) and have a nice life.
>>>
>>> --Matt Jones
>>>
>>>
>>>  --
>>> You received this message because you are subscribed to the Google
>>> Groups "Ruby on Rails: Core" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to rubyonrails-core+unsubscr...@googlegroups.com.
>>>
>>> To post to this group, send email to rubyonrails-core@googlegroups.com.
>>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>
>>>
>>>
>>
>>
>>
>> --
>> Piotr Sarnacki
>> http://piotrsarnacki.com
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Ruby on Rails: Core" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/rubyonrails-core/A-1oZuShUaM/unsubscribe
>> .
>> To unsubscribe from this group and all its topics, send an email to
>> rubyonrails-core+unsubscr...@googlegroups.com.
>>
>> To post to this group, send email to rubyonrails-core@googlegroups.com.
>> Visit this group at http://groups.google.com/group/rubyonrails-core.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>>
>
>  --
> You received this message because you are subscribed to the Google Groups
> "Ruby on Rails: Core" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to rubyonrails-core+unsubscr...@googlegroups.com.
> To post to this group, send email to rubyonrails-core@googlegroups.com.
> Visit this group at http://groups.google.com/group/rubyonrails-core.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
>



-- 
At.
Carlos Antonio

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to rubyonrails-core+unsubscr...@googlegroups.com.
To post to this group, send email to rubyonrails-core@googlegroups.com.
Visit this group at http://groups.google.com/group/rubyonrails-core.
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to