class Chronic::Ordinal
def self.scan(tokens, options)
-
(Array)
- list of tokens
Parameters:
-
options
(Hash
) -- Options specified in {Chronic.parse} -
tokens
(Array
) -- Array of tokens to scan
def self.scan(tokens, options) tokens.each do |token| if t = scan_for_ordinals(token) then token.tag(t) end if t = scan_for_days(token) then token.tag(t) end end end
def self.scan_for_days(token)
-
(OrdinalDay, nil)
-
Parameters:
-
token
(Token
) --
def self.scan_for_days(token) if token.word =~ /^(\d*)(st|nd|rd|th)$/ unless $1.to_i > 31 || $1.to_i < 1 OrdinalDay.new(token.word.to_i) end end end
def self.scan_for_ordinals(token)
-
(Ordinal, nil)
-
Parameters:
-
token
(Token
) --
def self.scan_for_ordinals(token) Ordinal.new($1.to_i) if token.word =~ /^(\d*)(st|nd|rd|th)$/ end
def to_s
def to_s 'ordinal' end