Sha256: d7e9df021b6c83f8946be36356c2c9e0c8c269f57c7836bca48938087ce0d1f7
Contents?: true
Size: 699 Bytes
Versions: 14
Compression:
Stored size: 699 Bytes
Contents
require_relative 'constants/tr' module Humanize class Tr 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] unless exactly_one_thousand?(remainder, parts) end iteration += 1 end parts end private def exactly_one_thousand?(remainder, parts) remainder == 1 && parts.last.to_s.strip == 'bin' end def add_grouping(parts, iteration) grouping = LOTS[iteration] return unless grouping parts << grouping end end end
Version data entries
14 entries across 14 versions & 1 rubygems