aboutsummaryrefslogtreecommitdiff
blob: 34ad123e9b899fa05c57ff32cb3f8ccdf276f880 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
module Gentoo
  module Filters
    UNITS = %W(B KiB MiB GiB TiB).freeze

    def nice_filesize(input)
      number = input.to_i
      if number < 1024
        exponent = 0
      else
        max_exp  = UNITS.size - 1

        exponent = (Math.log(number) / Math.log(1024)).to_i
        exponent = max_exp if exponent > max_exp

        number  /= 1024 ** exponent
      end

      "#{number} #{UNITS[exponent]}"
    end

    def rsync_url(input)
      input += '/' unless input.end_with? '/'
      input + 'gentoo-portage/'
    end
  end
end

Liquid::Template.register_filter(Gentoo::Filters)