Time Ruby

class Time
  def day_ordinal_suffix
    if day == 11 or day == 12
      return "th"
    else
      case day % 10
      when 1 then return "st"
      when 2 then return "nd"
      when 3 then return "rd"
      else return "th"
      end
    end
  end
end
time = Time.local(2008, 8, 31, 2, 3, 4, 5)
time.strftime("The %e#{time.day_ordinal_suffix} of %B") # => "The 31st of December"