class RdConv::Convertor

Your code goes here…

Constants

HASH_ROMAN

Public Class Methods

roman_to_decimal(number) click to toggle source
# File lib/rd_conv.rb, line 18
def self.roman_to_decimal(number)    
        roman_number = number.split("")
        if (roman_number- HASH_ROMAN.keys) == []
                      
              temp_array = []
              extra_index =[]
              sum = 0
              roman_number.each_with_index do |k,v|
                    
                    if !extra_index.include?(v)
                        if (v < roman_number.length-1 ) and c = roman_number[v]+roman_number[v+1] and HASH_ROMAN[c] != nil
                          temp_array << c
                          
                          extra_index << v+1
                        else
                          temp_array << roman_number[v]
                        end
                      end
                
              end

              temp_array.each do |k|
               sum = sum+HASH_ROMAN[k]
              end
              else
                      sum = "Invalid Roman Number"
              end  
              return sum
end