Class: Formatter::Number

Inherits:
Object
  • Object
show all
Defined in:
lib/formatter/number.rb,
lib/formatter/number/version.rb

Overview

Gem version

Constant Summary collapse

DEFAULTS =
{
  decimals: 2,
  fixed: false,
  separator: '.',
  grouping: 3,
  delimiter: ','
}.freeze
VERSION =
'0.1.0'

Instance Method Summary collapse

Constructor Details

#initialize(options = { }.freeze) ⇒ Number

Initialize a formatter with the desired options.

Parameters:

  • options (Hash) (defaults to: { }.freeze)

    the options to create a formatter with

Options Hash (options):

  • :decimals (Integer) — default: 2

    Number of decimal points

  • :fixed (Boolean) — default: false

    Fixed decimal places

  • :separator (String) — default: '.'

    Decimal mark

  • :grouping (Integer) — default: 3

    Number of digits per group

  • :delimiter (String) — default: ','

    Delimiter between groups



22
23
24
# File 'lib/formatter/number.rb', line 22

def initialize(options = { }.freeze)
  @options = defaults.merge(options)
end

Instance Method Details

#format(number) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/formatter/number.rb', line 26

def format(number)
  case number
  when Float then format_float(number)
  when Integer then format_integer(number)
  else fail ArgumentError
  end
end