Class: MontoEscrito::Decorador

Inherits:
Object
  • Object
show all
Defined in:
lib/monto_escrito/decorador.rb

Instance Method Summary collapse

Constructor Details

#initialize(numero) ⇒ Decorador

Returns a new instance of Decorador.

Raises:

  • (ArgumentError)


4
5
6
7
# File 'lib/monto_escrito/decorador.rb', line 4

def initialize(numero)
  raise ArgumentError if numero >= 1_000_000_000_000_000_000_000_000 or numero < 0
  @numero = numero
end

Instance Method Details

#to_s(format = :integer) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/monto_escrito/decorador.rb', line 9

def to_s(format=:integer)
  if (format == :integer)
    @monto_escrito ||= calcular_monto_escrito(@numero)
  else
    centavos = (@numero - @numero.floor).round(2) * 100
    @numero = @numero.floor
    if (format == :short)
      @monto_escrito ||= "#{calcular_monto_escrito(@numero)} con #{centavos.to_i}/100"
    else
      @monto_escrito ||= "#{calcular_monto_escrito(@numero)} con #{calcular_monto_escrito(centavos)}"
    end
  end
end