Class: Romaniac::Const

Inherits:
Object show all
Defined in:
lib/romaniac/const.rb

Constant Summary collapse

ROMAN_PATTERN =
/\A(?i)M{0,3}(D?C{0,3}|C[DM])(L?X{0,3}|X[LC])(V?I{0,3}|I[VX])\z/i

Class Method Summary collapse

Class Method Details

.define!(name) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/romaniac/const.rb', line 12

def self.define!(name)
  if Romaniac::Converter::ARABIC_ROMAN.has_value?(name)
    if RUBY_VERSION == '1.8.7'
      arabic = Romaniac::Converter::ARABIC_ROMAN.index(name)
    else
      arabic = Romaniac::Converter::ARABIC_ROMAN.key(name)
    end
  else
    arabic = Romaniac::Converter.roman_to_arabic(name)
  end
  Object.const_set(name, Roman(arabic))
end