バイトを表す整数を「整った」形式の文字列に変換するメソッドを作成しようとしています。
これが私の半分仕事の試みです:
class Integer
def to_filesize
{
'B' => 1024,
'KB' => 1024 * 1024,
'MB' => 1024 * 1024 * 1024,
'GB' => 1024 * 1024 * 1024 * 1024,
'TB' => 1024 * 1024 * 1024 * 1024 * 1024
}.each_pair { |e, s| return "#{s / self}#{e}" if self < s }
end
end
私の何が間違っているのでしょうか?
Rails で使用する場合、標準の Rails 番号ヘルパーはどうでしょうか?
http://api.rubyonrails.org/classes/ActionView/Helpers/NumberHelper.html#method-i-number_to_human_size
number_to_human_size(数値, オプション = {})
?