module ToCardinal

Constants

EXPLICITS
EXPLICIT_MATCHES
ORDINAL
REGULARS
TENS
TENS_MATCH
VERSION

Public Class Methods

cardinalize(str) click to toggle source
# File lib/to_cardinal/cardinalize.rb, line 46
def self.cardinalize(str)
  str.downcase!

  ordinal          = str[ORDINAL, 1]
  explicit_matches = EXPLICIT_MATCHES[str]
  regular_match    = str[/^(.+)teenth$/, 1]

  return ordinal.to_i if ordinal
  return explicit_matches if explicit_matches
  return 10 + REGULARS[regular_match] if regular_match

  if tens = str[TENS_MATCH, 1]
    sum = TENS[tens]
    str.sub! "#{tens}-", ''
    EXPLICIT_MATCHES.has_key?(str) ? sum + EXPLICIT_MATCHES[str] : nil
  end
end

Public Instance Methods

to_cardinal() click to toggle source
# File lib/to_cardinal/cardinalize.rb, line 64
def to_cardinal
  ToCardinal.cardinalize self
end