class ReeNumber::NumberToHumanSize

def call(number, **opts)

def call(number, **opts)
  options = DEFAULTS.merge(opts)
  number = Float(number)
  if smaller_than_base?(number)
    number_to_format = number.to_i.to_s
  else
    human_size = number / (BASE**exponent(number))
    number_to_format = number_to_rounded(
      human_size,
      **slice(
        options,
        [:precision, :significant, :strip_insignificant_zeros, :round_mode]
      )
    )
  end
  storage_unit_key = storage_unit_key(number)
  unit = unit(options[:locale], storage_unit_key, number)
  result_number = options[:format]
    .gsub("%n", number_to_format)
    .gsub("%u", unit)
  number_to_delimited(
    result_number,
    **slice(options, [:separator, :delimiter])
  )
end