aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/whiny_nil.rb
Commit message (Collapse)AuthorAgeFilesLines
* Fix use of Deprecation without requiring active_support/deprecation in whiny nilMarten Veldthuis2012-01-311-0/+2
|
* Remove NilClass whiners feature.José Valim2011-12-081-40/+2
| | | | | | | | | | | | | | | | | | | | | | | | | Removing this feature causes boost in performance when using Ruby 1.9. Ruby 1.9 started to do implicit conversions using `to_ary` and `to_str` in some STDLIB methods (like Array#join). To do such implicit conversions, Ruby 1.9 always dispatches the method and rescues the NoMethodError exception in case one is raised. Therefore, since the whiners feature defined NilClass#method_missing, such implicit conversions for nil became much, much slower. In fact, just defining NilClass#method_missing (even without the whiners feature) already causes a massive slow down. Here is a snippet that shows such slow down: require "benchmark" Benchmark.realtime { 1_000.times { [nil,nil,nil].join } } class NilClass def method_missing(*args) raise NoMethodError end end Benchmark.realtime { 1_000.times { [nil,nil,nil].join } }
* No need for &block here.José Valim2011-04-291-1/+1
|
* Report the correct value of nil.id in the exception messageAndrew White2011-03-061-1/+1
| | | | | | | as different ruby implementations may have different values, for example Rubinius returns 53 for nil.id. [#6444 state:resolved]
* Make many parts of Rails lazy. In order to facilitate this,wycats2010-03-071-4/+3
| | | | | | | | | | | | add lazy_load_hooks.rb, which allows us to declare code that should be run at some later time. For instance, this allows us to defer requiring ActiveRecord::Base at boot time purely to apply configuration. Instead, we register a hook that should apply configuration once ActiveRecord::Base is loaded. With these changes, brings down total boot time of a new app to 300ms in production and 400ms in dev. TODO: rename base_hook
* whiny nil shouldn't depend on Active Record [#4092 status:resolved]windock2010-03-031-1/+1
| | | | Signed-off-by: José Valim <jose.valim@gmail.com>
* remove trailing whitespaceRomD2010-02-061-1/+1
| | | | Signed-off-by: Carl Lerche <carllerche@mac.com>
* fix usage examples and more to use new invocationsRomD2010-02-061-1/+1
| | | | Signed-off-by: Carl Lerche <carllerche@mac.com>
* This code was needed to work around ↵Yehuda Katz2009-12-241-4/+1
| | | | http://redmine.ruby-lang.org/issues/show/2494. Since that bug is now closed in Ruby, we can remove it.
* Ruby 1.9.2: explicitly raise NoMethodError for explicit coercion attempts. ↵Jeremy Kemper2009-12-061-1/+1
| | | | Calling super gives us NameErrors.
* Ruby 1.9.2: disallow explicit coercion via method_missing. Only give ↵Jeremy Kemper2009-11-131-2/+8
| | | | friendly nil errors for Array and Active Record methods.
* Replaced unnecessary class variable with a constant in whiny nil.Joshua Peek2008-05-041-3/+3
|
* Improve documentation.Pratik Naik2008-04-051-9/+27
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9226 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Improve documentation.Pratik Naik2008-03-261-0/+2
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@9093 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* whiny nil shouldn't depend on Active RecordJeremy Kemper2007-05-231-12/+12
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6818 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* occured -> occurred. Closes #5559.Jeremy Kemper2006-07-101-1/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4604 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Updated whiny nil to be more concise and useful.Nicholas Seckar2005-10-151-15/+7
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2602 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Improved the whiny nil #1600 [Nicholas Seckar]David Heinemeier Hansson2005-07-041-4/+4
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1660 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added tests for whiny nil #1476 [court3nay/marcel]David Heinemeier Hansson2005-06-251-2/+1
| | | | git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1507 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Added an exception if calling id on nil to WhinyNil #584 ↵David Heinemeier Hansson2005-06-211-0/+4
| | | | | | [kevin-temp@writesoon.com] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1472 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
* Forgot to actually add the whiny nilDavid Heinemeier Hansson2005-06-201-0/+43
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1455 5ecf4fe2-1ee6-0310-87b1-e25e094e27de