aboutsummaryrefslogtreecommitdiffstats
path: root/activesupport/lib/active_support/inflector.rb
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2005-07-17 10:02:23 +0000
committerDavid Heinemeier Hansson <david@loudthinking.com>2005-07-17 10:02:23 +0000
commit33cf8f162e1ea2c10e6ba253b333f256802c3250 (patch)
tree2c4fca502c8afe64ead7fa9bc7849dab4f1fdc0d /activesupport/lib/active_support/inflector.rb
parent80cfa76f7de298b5eb3e2b971766c676e9e147b1 (diff)
downloadrails-33cf8f162e1ea2c10e6ba253b333f256802c3250.tar.gz
rails-33cf8f162e1ea2c10e6ba253b333f256802c3250.tar.bz2
rails-33cf8f162e1ea2c10e6ba253b333f256802c3250.zip
Added Fixnum#ordinalize to turn 1.ordinalize to "1st", 3.ordinalize to "3rd", and 10.ordinalize to "10th" and so on #1724 [paul@cnt.org]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1852 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'activesupport/lib/active_support/inflector.rb')
-rw-r--r--activesupport/lib/active_support/inflector.rb15
1 files changed, 14 insertions, 1 deletions
diff --git a/activesupport/lib/active_support/inflector.rb b/activesupport/lib/active_support/inflector.rb
index 88f56403c8..be25a93687 100644
--- a/activesupport/lib/active_support/inflector.rb
+++ b/activesupport/lib/active_support/inflector.rb
@@ -60,6 +60,19 @@ module Inflector
end
end
+ def ordinalize(number)
+ if (11..13).include?(number.to_i % 100)
+ "#{number}th"
+ else
+ case number.to_i % 10
+ when 1: "#{number}st"
+ when 2: "#{number}nd"
+ when 3: "#{number}rd"
+ else "#{number}th"
+ end
+ end
+ end
+
private
def uncountable_words #:doc
%w( equipment information rice money species series fish )
@@ -121,4 +134,4 @@ module Inflector
[/s$/i, '']
]
end
-end \ No newline at end of file
+end