Sha256: 4de61697535626d574b7989155b3dc3b45ca5a7876bff1d4a4cea11551c1610d
Contents?: true
Size: 790 Bytes
Versions: 13
Compression:
Stored size: 790 Bytes
Contents
require_relative 'constants/id' module Humanize class Id def humanize(number) iteration = 0 parts = [] until number.zero? number, remainder = number.divmod(1000) unless remainder.zero? add_grouping(parts, iteration) parts << SUB_ONE_GROUPING[remainder] end iteration += 1 end correct_one_thousand(parts) end def add_grouping(parts, iteration) grouping = LOTS[iteration] return unless grouping parts << grouping end def correct_one_thousand(parts) lots = LOTS.drop(2) wrong_1000_re = /(?<=#{lots.join(" |")} )\s*satu ribu|^satu ribu/ parts = parts.reverse.join(" ").sub(wrong_1000_re, 'seribu') parts.split(" ").reverse end end end
Version data entries
13 entries across 13 versions & 1 rubygems