Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

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
  • Loading branch information...
commit ac58ba60f6cfc272992129ce28808e37391b95d7 1 parent 4f75498
@jeremy jeremy authored
View
2  activesupport/CHANGELOG
@@ -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
4 activesupport/lib/active_support/core_ext/blank.rb
@@ -30,7 +30,3 @@ def blank?
empty? || strip.empty?
end
end
-
-class Numeric #:nodoc:
- alias_method :blank?, :zero?
-end
View
10 activesupport/lib/active_support/core_ext/object_and_class.rb
@@ -14,19 +14,17 @@ def subclasses_of(*superclasses)
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
13 activesupport/test/core_ext/blank_test.rb
@@ -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
Please sign in to comment.
Something went wrong with that request. Please try again.