class ReeNumber::NumberToHuman
def call(number, **opts)
def call(number, **opts) options = DEFAULTS.merge(opts) number = round_helper( number, **slice(options, [:precision, :significant, :round_mode]) ) number = Float(number) exponent = calculate_exponent( number, options[:locale], options[:units] ) number = number / (10**exponent) rounded_number = number_to_rounded( number, **slice( options, [:precision, :significant, :strip_insignificant_zeros, :round_mode] ) ) unit = determine_unit( exponent, options[:units], options[:locale] ) result_number = options[:format] .gsub("%n", rounded_number) .gsub("%u", unit) .strip number_to_delimited( result_number, **slice(options, [:separator, :delimiter]) ) end