<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1404,14 +1404,14 @@ module ActiveRecord #:nodoc:
       end
 
       # Transform the modelname into a more humane format, using I18n.
-      # Defaults to the basic humanize method.
+      # By default, it will underscore then humanize the class name (BlogPost.human_name #=&gt; &quot;Blog post&quot;).
       # Default scope of the translation is activerecord.models
       # Specify +options+ with additional translating options.
       def human_name(options = {})
         defaults = self_and_descendants_from_active_record.map do |klass|
           :&quot;#{klass.name.underscore}&quot;
-        end 
-        defaults &lt;&lt; self.name.humanize
+        end
+        defaults &lt;&lt; self.name.underscore.humanize
         I18n.translate(defaults.shift, {:scope =&gt; [:activerecord, :models], :count =&gt; 1, :default =&gt; defaults}.merge(options))
       end
 </diff>
      <filename>activerecord/lib/active_record/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -5,14 +5,20 @@ require 'models/company'
 require 'models/company_in_module'
 require 'models/subscriber'
 require 'models/pirate'
+require 'models/price_estimate'
 
 class ReflectionTest &lt; ActiveRecord::TestCase
-  fixtures :topics, :customers, :companies, :subscribers
+  fixtures :topics, :customers, :companies, :subscribers, :price_estimates
 
   def setup
     @first = Topic.find(1)
   end
 
+  def test_human_name
+    assert_equal &quot;Price estimate&quot;, PriceEstimate.human_name
+    assert_equal &quot;Subscriber&quot;, Subscriber.human_name
+  end
+
   def test_column_null_not_null
     subscriber = Subscriber.find(:first)
     assert subscriber.column_for_attribute(&quot;name&quot;).null</diff>
      <filename>activerecord/test/cases/reflection_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>085db5e128ad4ad8fd042776722c78e194c6d0a4</id>
    </parent>
  </parents>
  <author>
    <name>Justin French</name>
    <login>justinfrench</login>
    <email>justin@indent.com.au</email>
  </author>
  <url>http://github.com/rails/rails/commit/7d548f795d226f57278f8bdd36298c9552421053</url>
  <id>7d548f795d226f57278f8bdd36298c9552421053</id>
  <committed-date>2009-06-29T20:24:04-07:00</committed-date>
  <authored-date>2009-06-29T06:54:09-07:00</authored-date>
  <message>Changed ActiveRecord::Base.human_name to underscore the class name before it humanizes it

This gives you 'Post comment' rather than 'Postcomment' by default.

Signed-off-by: Michael Koziarski &lt;michael@koziarski.com&gt;
[#2120 state:committed]</message>
  <tree>72ecb05cb089ef8ff7c9acd76a16bd7c2580290f</tree>
  <committer>
    <name>Michael Koziarski</name>
    <login>NZKoz</login>
    <email>michael@koziarski.com</email>
  </committer>
</commit>
