1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Changed 0.blank? to false rather than true since it violates everyone's expectation of blankness. Closes #2518, Closes #2705.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2849 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper 2005-11-02 15:37:58 +00:00
parent 4f754985d0
commit ac58ba60f6
4 changed files with 19 additions and 10 deletions

View file

@ -1,5 +1,7 @@
*SVN*
* Changed 0.blank? to false rather than true since it violates everyone's expectation of blankness. #2518, #2705 [rails@jeffcole.net]
* When loading classes using const_missing, raise a NameError if and only if the file we tried to load was not present. [Nicholas Seckar]
* Added petabytes and exebytes to numeric extensions #2397 [timct@mac.com]

View file

@ -30,7 +30,3 @@ class String #:nodoc:
empty? || strip.empty?
end
end
class Numeric #:nodoc:
alias_method :blank?, :zero?
end

View file

@ -14,19 +14,17 @@ class Object #:nodoc:
subclasses
end
# "", " ", nil, and 0 are all blank
# "", " ", nil, [], and {} are blank
def blank?
if respond_to?(:empty?) && respond_to?(:strip)
strip.empty?
elsif respond_to? :empty?
empty? or strip.empty?
elsif respond_to?(:empty?)
empty?
elsif respond_to? :zero?
zero?
else
!self
end
end
def suppress(*exception_classes)
begin yield
rescue Exception => e

View file

@ -0,0 +1,13 @@
require 'test/unit'
require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/object_and_class'
require File.dirname(__FILE__) + '/../../lib/active_support/core_ext/blank'
class BlankTest < Test::Unit::TestCase
BLANK = [nil, false, '', ' ', " \n\t \r ", [], {}]
NOT = [true, 0, 1, 'a', [nil], { nil => 0 }]
def test_blank
BLANK.each { |v| assert v.blank? }
NOT.each { |v| assert !v.blank? }
end
end