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