lib/extenso_pt/extenso.rb in extenso_pt-0.6.12 vs lib/extenso_pt/extenso.rb in extenso_pt-0.7.0
- old
+ new
@@ -26,40 +26,34 @@
# @return [String] extenso das unidades
def self.e009(cem)
A0020[@lc][cem < 20 ? cem : cem % 10]
end
- # Produz extenso da parte fracionaria em portugues de portugal ou brasil
- #
- # @return [String] extenso da parte fracionaria
+ # @return [String] extenso da parte fracionaria em portugues de portugal ou brasil
def self.ef99
if cnf?
e090(@nf) + e009(@nf) + ' ' + (@nf > 1 ? @fp : @fs)
else
''
end
end
- # Produz final da moeda em portugues de portugal ou brasil
- #
- # @return [String] final da moeda
+ # @return [String] final da moeda em portugues de portugal ou brasil
def self.efim
t = c124
if t.positive?
- # proposicao DE entre parte inteira e moeda
- # moeda singular/plural
- # proposicao E entre moeda e parte fracionaria
+ # proposicao DE entre parte inteira e moeda & moeda singular/plural & proposicao E entre moeda e parte fracionaria
(cde? ? ' DE ' : ' ') + (t > 1 ? @mp : @ms) + (cnf? ? ' E ' : '')
else
''
end + ef99
end
- # Produz separador entre grupos 3 digitos
+ # Produz proposicao E entre grupos 3 digitos
#
# @param [Integer] pos posicao actual nos grupos 3 digitos
- # @return [String] separador entre grupos 3 digitos
+ # @return [String] proposicao E entre grupos 3 digitos
def self.edgs(pos)
if pos.positive? && @ai[pos - 1].positive?
@ai[pos - 1] > 100 ? ' ' : ' E '
else
''
@@ -85,10 +79,11 @@
def self.edg3(pos)
# caso especial MIL EUROS
if pos == 1 && @ai[pos] == 1
''
else
+ # extenso das centenas + extenso das dezenas + extenso das unidades
e900(@ai[pos]) + e090(@ai[pos] % 100) + e009(@ai[pos] % 100)
end + e124(pos)
end
# Produz extenso da parte inteira e fracionaria
@@ -100,11 +95,10 @@
# testa fim do valor monetario
if pos >= @ai.count
# caso especial de zero
(c124 + @nf).zero? ? 'ZERO ' + @mp : ext + efim
else
- # converte grupo 3 digitos na posicao corrente
- # envoca proxima posicao
+ # converte grupo 3 digitos na posicao corrente & envoca proxima posicao
ejun(pos + 1, edg3(pos) + ext)
end
end
# private_class_method :e900, :e090, :e009, :ef99, :efim,
# :edgs, :e124, :edg3