Module: YaKansuji::Formatter::JudicH

Defined in:
lib/ya_kansuji/formatter/judic_h.rb

Overview

Formatter for Jpanese judicial style kansuji (arabic numerals version)

Class Method Summary collapse

Class Method Details

.call(num, _options = {}) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/ya_kansuji/formatter/judic_h.rb', line 10

def call(num, _options = {})
  return '' if num.zero?

  ret = +''
  head = true
  chunks = Formatter.split_by_unit4(num)
  (chunks.size - 1).downto(0) do |idx4|
    i4 = chunks[idx4]
    next if i4.zero?

    unit4 = Formatter::UNIT4_UNITS[idx4]
    if head
      ret << (i4.to_s + unit4)
    else
      ret << (('%04d' % i4) + unit4)
    end
    head = false
  end
  ret.tr('0-9', '0-9')
end