aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-09-24 05:14:04 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-09-24 05:14:04 +0000
commitdf95567598677a9c109146df8531674e70c2eb80 (patch)
treef793f59e0bfa45bdf0e57ac5ff90ca5b231c0271 /activesupport
parent1f4dc25250d828dd7f4c2c1c8e1d23c24c3e8d0b (diff)
downloadrails-df95567598677a9c109146df8531674e70c2eb80.tar.gz
rails-df95567598677a9c109146df8531674e70c2eb80.tar.bz2
rails-df95567598677a9c109146df8531674e70c2eb80.zip
Added native, faster implementations of .blank? for the core types #2286 [skae]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2319 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport')
-rw-r--r--activesupport/CHANGELOG2
-rw-r--r--activesupport/lib/active_support/core_ext/blank.rb36
2 files changed, 38 insertions, 0 deletions
diff --git a/activesupport/CHANGELOG b/activesupport/CHANGELOG
index 7411beddef..3786ee22be 100644
--- a/activesupport/CHANGELOG
+++ b/activesupport/CHANGELOG
@@ -1,5 +1,7 @@
*SVN*
+* Added native, faster implementations of .blank? for the core types #2286 [skae]
+
* Fixed clean logger to work with Ruby 1.8.3 Logger class #2245
* Fixed memory leak with Active Record classes when Dependencies.mechanism = :load #1704 [c.r.mcgrath@gmail.com]
diff --git a/activesupport/lib/active_support/core_ext/blank.rb b/activesupport/lib/active_support/core_ext/blank.rb
new file mode 100644
index 0000000000..f56799bc0d
--- /dev/null
+++ b/activesupport/lib/active_support/core_ext/blank.rb
@@ -0,0 +1,36 @@
+# The methods here are provided to speed up function blank? in class Object
+class NilClass
+ def blank?
+ true
+ end
+end
+
+class FalseClass
+ def blank?
+ true
+ end
+end
+
+class TrueClass
+ def blank?
+ false
+ end
+end
+
+class Array
+ alias_method :blank?, :empty?
+end
+
+class Hash
+ alias_method :blank?, :empty?
+end
+
+class String
+ def blank?
+ empty? || strip.empty?
+ end
+end
+
+class Numeric
+ alias_method :blank?, :zero?
+end \ No newline at end of file