aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/core_ext/string
diff options
context:
space:
mode:
authorclaudiob <claudiob@gmail.com>2013-11-06 12:57:21 -0800
committerclaudiob <claudiob@gmail.com>2013-11-06 13:03:46 -0800
commitc61544c7818f109c132fcad9db73d43216417535 (patch)
tree63356431e4898a820f8f8ff8f7103b2f2c36dba7 /activesupport/lib/active_support/core_ext/string
parent256ae7dec5626620eb5a064f50931e1d9317b2a4 (diff)
downloadrails-c61544c7818f109c132fcad9db73d43216417535.tar.gz
rails-c61544c7818f109c132fcad9db73d43216417535.tar.bz2
rails-c61544c7818f109c132fcad9db73d43216417535.zip
Add +capitalize+ option to Inflector.humanize
So strings can be humanized without being capitalized: 'employee_salary'.humanize # => "Employee salary" 'employee_salary'.humanize(capitalize: false) # => "employee salary"
Diffstat (limited to 'activesupport/lib/active_support/core_ext/string')
-rw-r--r--activesupport/lib/active_support/core_ext/string/inflections.rb16
1 files changed, 11 insertions, 5 deletions
diff --git a/activesupport/lib/active_support/core_ext/string/inflections.rb b/activesupport/lib/active_support/core_ext/string/inflections.rb
index 56e8a5f98d..b7b750c77b 100644
--- a/activesupport/lib/active_support/core_ext/string/inflections.rb
+++ b/activesupport/lib/active_support/core_ext/string/inflections.rb
@@ -190,13 +190,19 @@ class String
ActiveSupport::Inflector.classify(self)
end
- # Capitalizes the first word, turns underscores into spaces, and strips '_id'.
+ # Capitalizes the first word, turns underscores into spaces, and strips a
+ # trailing '_id' if present.
# Like +titleize+, this is meant for creating pretty output.
#
- # 'employee_salary'.humanize # => "Employee salary"
- # 'author_id'.humanize # => "Author"
- def humanize
- ActiveSupport::Inflector.humanize(self)
+ # The capitalization of the first word can be turned off by setting the
+ # optional parameter +capitalize+ to false.
+ # By default, this parameter is true.
+ #
+ # 'employee_salary'.humanize # => "Employee salary"
+ # 'author_id'.humanize # => "Author"
+ # 'author_id'.humanize(capitalize: false) # => "author"
+ def humanize(options = {})
+ ActiveSupport::Inflector.humanize(self, options)
end
# Creates a foreign key name from a class name.