class Jekyll::Roman::Integer

Public Class Methods

new(number) click to toggle source
# File lib/jekyll/roman.rb, line 5
def initialize(number)
  @number = number.to_i
end

Public Instance Methods

to_roman() click to toggle source
# File lib/jekyll/roman.rb, line 9
def to_roman
  roman_arr = {
    1000 => "M",
    900 => "CM",
    500 => "D",
    400 => "CD",
    100 => "C",
    90 => "XC",
    50 => "L",
    40 => "XL",
    10 => "X",
    9 => "IX",
    5 => "V",
    4 => "IV",
    1 => "I"
  }
  num = @number

  roman_arr.reduce("") do |res, (arab, roman)|
    whole_part, num = num.divmod(arab)
    res << roman * whole_part
  end
end