Module: Ordinalize

Defined in:
lib/merb-helpers/date_time_formatting.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"


116
117
118
119
120
121
122
123
124
125
126
127
# File 'lib/merb-helpers/date_time_formatting.rb', line 116

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