Extensions to nil which allow for more helpful error messages for people who are new to Rails.
NilClass#id exists in Ruby 1.8 (though it is deprecated). Since id is a fundamental method of Active Record models NilClass#id is redefined as well to raise a RuntimeError and warn the user. She probably wanted a model database identifier and the 4 returned by the original method could result in obscure bugs.
The flag config.whiny_nils determines whether this feature is enabled. By default it is on in development and test modes, and it is off in production mode.
activesupport/lib/active_support/whiny_nil.rb activesupport/lib/active_support/json/encoding.rb activesupport/lib/active_support/core_ext/object/try.rb activesupport/lib/active_support/core_ext/object/to_param.rb activesupport/lib/active_support/core_ext/object/duplicable.rb activesupport/lib/active_support/core_ext/object/blank.rb