Module: Ordinalize

Defined in:
lib/merb_helpers/ordinalize.rb

Instance Method Summary collapse

Instance Method Details

#ordinalizeObject

Ordinalize turns a number into an ordinal string used to denote the position in an ordered sequence such as 1st, 2nd, 3rd, 4th.

Examples

1.ordinalize     # => "1st"
2.ordinalize     # => "2nd"
1002.ordinalize  # => "1002nd"
1003.ordinalize  # => "1003rd"


10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/merb_helpers/ordinalize.rb', line 10

def ordinalize
  if (11..13).include?(self % 100)
    "#{self}th"
  else
    case self % 10
      when 1; "#{self}st"
      when 2; "#{self}nd"
      when 3; "#{self}rd"
      else    "#{self}th"
    end
  end
end