3 class Ordinal < Tag #:nodoc:
6 tokens.each_index do |i|
7 if t = self.scan_for_ordinals(tokens[i]) then tokens[i].tag(t) end
8 if t = self.scan_for_days(tokens[i]) then tokens[i].tag(t) end
13 def self.scan_for_ordinals(token)
14 if token.word =~ /^(\d*)(st|nd|rd|th)$/
15 return Ordinal.new($1.to_i)
20 def self.scan_for_days(token)
21 if token.word =~ /^(\d*)(st|nd|rd|th)$/
23 return OrdinalDay.new(token.word.to_i)
34 class OrdinalDay < Ordinal #:nodoc:
36 super << '-day-' << @type.to_s