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