lib/extenso_pt/extenso.rb in extenso_pt-0.6.7 vs lib/extenso_pt/extenso.rb in extenso_pt-0.6.8

- old
+ new

@@ -6,20 +6,20 @@ # # @param [Integer] mil o valor dum grupo 3 digitos a converter # @return [String] extenso das centenas def self.e900(mil) A1000[@lc][(mil > 100 ? 1 : 0) + mil / 100] + - (mil > 100 && (mil % 100).positive? ? ' E ' : '') # proposicao + (mil > 100 && (mil % 100).positive? ? ' E ' : '') end # Produz extenso das dezenas em portugues de portugal ou brasil # # @param [Integer] cem a centena dum grupo 3 digitos a converter # @return [String] extenso das dezenas def self.e090(cem) A0100[@lc][cem / 10] + - (cem > 20 && (cem % 10).positive? ? ' E ' : '') # proposicao + (cem > 20 && (cem % 10).positive? ? ' E ' : '') end # Produz extenso das unidades em portugues de portugal ou brasil # # @param [Integer] cem a centena dum grupo 3 digitos a converter @@ -30,28 +30,27 @@ # Produz extenso da parte fracionaria em portugues de portugal ou brasil # # @return [String] extenso da parte fracionaria def self.ef99 - if @nf.positive? - e090(@nf) + e009(@nf) + (@nf > 1 ? ' ' + @fp : ' ' + @fs) + 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 def self.efim - if c124.positive? + t = c124 + if t.positive? # proposicao DE entre parte inteira e moeda # moeda singular/plural # proposicao E entre moeda e parte fracionaria - (cpde? ? ' DE ' : ' ') + - (c124 > 1 ? @mp : @ms) + - (@nf.positive? ? ' E ' : '') + (cde? ? ' DE ' : ' ') + (t > 1 ? @mp : @ms) + (cnf? ? ' E ' : '') else '' end + ef99 end @@ -90,10 +89,10 @@ else e900(@ai[pos]) + e090(@ai[pos] % 100) + e009(@ai[pos] % 100) end + e124(pos) end - # Produz extenso da parte inteira (@ai) e fracionaria (@nf) + # Produz extenso da parte inteira e fracionaria # # @param [Integer] pos posicao no grupo 3 digitos # @param [String] ext extenso em construcao # @return [String] extenso do valor monetario def self.ejun(pos, ext)