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:
parent
4f754985d0
commit
ac58ba60f6
4 changed files with 19 additions and 10 deletions
|
@ -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]
|
||||
|
|
|
@ -30,7 +30,3 @@ class String #:nodoc:
|
|||
empty? || strip.empty?
|
||||
end
|
||||
end
|
||||
|
||||
class Numeric #:nodoc:
|
||||
alias_method :blank?, :zero?
|
||||
end
|
|
@ -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
|
||||
|
|
13
activesupport/test/core_ext/blank_test.rb
Normal file
13
activesupport/test/core_ext/blank_test.rb
Normal 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
|
Loading…
Reference in a new issue