aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support
diff options
context:
space:
mode:
Diffstat (limited to 'activesupport/lib/active_support')
-rw-r--r--activesupport/lib/active_support/core_ext/string/inflections.rb7
-rw-r--r--activesupport/lib/active_support/inflector.rb7
2 files changed, 10 insertions, 4 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/inflections.rb b/activesupport/lib/active_support/core_ext/string/inflections.rb
index dec6c9f016..72a93c217f 100644
--- a/activesupport/lib/active_support/core_ext/string/inflections.rb
+++ b/activesupport/lib/active_support/core_ext/string/inflections.rb
@@ -104,13 +104,16 @@ module ActiveSupport #:nodoc:
Inflector.tableize(self)
end
- # Create a class name from a table name like Rails does for table names to models.
+ # 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.)
#
# Examples
# "egg_and_hams".classify #=> "EggAndHam"
- # "post".classify #=> "Post"
+ # "posts".classify #=> "Post"
+ #
+ # Singular names are not handled correctly
+ # "business".classify #=> "Busines"
def classify
Inflector.classify(self)
end
diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb
index ee5d5753c9..8fca3e36da 100644
--- a/activesupport/lib/active_support/inflector.rb
+++ b/activesupport/lib/active_support/inflector.rb
@@ -218,13 +218,16 @@ module Inflector
pluralize(underscore(class_name))
end
- # Create a class name from a table name like Rails does for table names to models.
+ # 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.)
#
# Examples
# "egg_and_hams".classify #=> "EggAndHam"
- # "post".classify #=> "Post"
+ # "posts".classify #=> "Post"
+ #
+ # Singular names are not handled correctly
+ # "business".classify #=> "Busines"
def classify(table_name)
# strip out any leading schema name
camelize(singularize(table_name.to_s.sub(/.*\./, '')))