Class: NepaliNumber::Formatter

Inherits:
Object
  • Object
show all
Defined in:
lib/nepali_number/formatter.rb

Constant Summary collapse

NUMERIC_PATTERN =
/\A([+-]?)(\d+)(?:\.(\d+))?\z/

Class Method Summary collapse

Class Method Details

.format(number, delimiter: ",", separator: ".") ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
# File 'lib/nepali_number/formatter.rb', line 8

def format(number, delimiter: ",", separator: ".")
  return nil if number.nil?

  raw = normalize(number)
  match = NUMERIC_PATTERN.match(raw)
  return raw unless match

  sign = match[1]
  integer = match[2]
  decimal = match[3]

  output = "#{sign}#{group_integer(integer, delimiter)}"
  output += "#{separator}#{decimal}" if decimal
  output
end