Module: Ordinalize

Defined in:
lib/merb-helpers/date_time_formatting.rb

Instance Method Summary collapse

Instance Method Details

#ordinalize ⇒ Object

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