Permalink
Browse files

Corrected documentation and added some more for the classify method i…

…n inflectors
  • Loading branch information...
1 parent 90e60aa commit 8f901dee9e2072dd20e0a252a89dd501d783d85b @aditya-kapoor aditya-kapoor committed May 15, 2013
Showing with 14 additions and 5 deletions.
  1. +14 −5 activesupport/lib/active_support/inflector/methods.rb
@@ -138,16 +138,25 @@ def tableize(class_name)
pluralize(underscore(class_name))
end
- # Create a class name from a plural table name like Rails does for table
- # names to models. Note that this returns a string and not a Class (To
- # convert to an actual class follow +classify+ with +constantize+).
+ # Create a class name from a plural table name like Rails does for table names to models.
+ # Note that this returns a string and not a class. (To convert to an actual class
+ # follow +classify+ with +constantize+.)
#
# 'egg_and_hams'.classify # => "EggAndHam"
# 'posts'.classify # => "Post"
#
- # Singular names are not handled correctly:
+ # Earlier in the Rails 3.2.x series, the some of the singular names were not handled correctly such as
+ # for "business", "address" the classify function would return "busines" and "addres" respectively.. but now
+ # this has been resolved and corrected in Rails 4
+ #
+ # 'business'.classify # => "Business"
+ # 'address'.classify # => "Address"
#
- # 'business'.classify # => "Busines"
+ # Yet some singular names are not handled correctly and I guess we would work upon it to improve upon these shortcomings
+ #
+ # "radius".classify #=> "Radiu" it should be "Radius"
+ # "feet".classify #=> "Foot", it should be "Feet"
+ # "abacus".classify #=> "Abacu" it should be "Abacus"
def classify(table_name)
# strip out any leading schema name
camelize(singularize(table_name.to_s.sub(/.*\./, '')))

0 comments on commit 8f901de

Please sign in to comment.