class JapaneseNumbers::Parser
Constants
- DELIMITERS
Public Class Methods
parse(str)
click to toggle source
# File lib/japanese_numbers/parser.rb, line 9 def self.parse(str) self.new.parse(str) end
Public Instance Methods
parse(str)
click to toggle source
# File lib/japanese_numbers/parser.rb, line 13 def parse(str) parts = split_to_parts(str) res = parts.inject(0) do |sum, part| sum + part[0].to_f * (DELIMITERS[part[1]] || 1) end res.to_i end
split_to_parts(str)
click to toggle source
# File lib/japanese_numbers/parser.rb, line 21 def split_to_parts(str) parts = [] loop do coefficient, unit, remains = str.partition(Regexp.union(DELIMITERS.keys)) parts.push([coefficient, unit]) str = remains break if str == "" end parts end