lib/extenso_pt.rb in extenso_pt-0.5.4 vs lib/extenso_pt.rb in extenso_pt-0.5.5
- old
+ new
@@ -22,18 +22,18 @@
pt: ['', 'CEM', 'CENTO', 'DUZENTOS', 'TREZENTOS', 'QUATROCENTOS',
'QUINHENTOS', 'SEISCENTOS', 'SETECENTOS', 'OITOCENTOS', 'NOVECENTOS'],
br: ['', 'CEM', 'CENTO', 'DUZENTOS', 'TREZENTOS', 'QUATROCENTOS',
'QUINHENTOS', 'SEISCENTOS', 'SETECENTOS', 'OITOCENTOS', 'NOVECENTOS']
}.freeze
-A1E24 = {
- pt: ['', 'MIL', ' MILHÃO', ' MIL MILHÃO', ' BILIÃO', ' MIL BILIÃO',
- ' TRILIÃO', ' MIL TRILIÃO', '', ' MIL', ' MILHÕES', ' MIL MILHÕES',
- ' BILIÕES', ' MIL BILIÕES', ' TRILIÕES', ' MIL TRILIÕES'],
- br: ['', 'MIL', ' MILHÃO', ' BILHÃO', ' TRILHÃO', ' QUADRILHÃO',
- ' QUINTILHÃO', ' SEXTILHÃO', '', ' MIL', ' MILHÕES', ' BILHÕES',
- ' TRILHÕES', ' QUADRILHÕES', ' QUINTILHÕES', ' SEXTILHÕES']
-}.freeze
+S1E24 = { pt: ['', 'MIL', ' MILHÃO', ' MIL MILHÃO', ' BILIÃO',
+ ' MIL BILIÃO', ' TRILIÃO', ' MIL TRILIÃO'],
+ br: ['', 'MIL', ' MILHÃO', ' BILHÃO', ' TRILHÃO',
+ ' QUADRILHÃO', ' QUINTILHÃO', ' SEXTILHÃO'] }.freeze
+P1E24 = { pt: ['', ' MIL', ' MILHÕES', ' MIL MILHÕES', ' BILIÕES',
+ ' MIL BILIÕES', ' TRILIÕES', ' MIL TRILIÕES'],
+ br: ['', ' MIL', ' MILHÕES', ' BILHÕES', ' TRILHÕES',
+ ' QUADRILHÕES', ' QUINTILHÕES', ' SEXTILHÕES'] }.freeze
# @author Hernani Rodrigues Vaz
module ExtensoPt
class Error < StandardError; end
@@ -41,19 +41,20 @@
#
# @param [Integer] mil o valor dum grupo 3 digitos a converter
# @return [String] o extenso das centenas
def self.e900(mil)
A1000[@lc][(mil > 100 ? 1 : 0) + mil / 100] +
- (mil > 100 && (mil % 100).positive? ? ' E ' : '')
+ (mil > 100 && (mil % 100).positive? ? ' E ' : '') # proposicao
end
# Produz o extenso das dezenas em portugues de portugal ou brasil.
#
# @param [Integer] mil o valor dum grupo 3 digitos a converter
# @return [String] o extenso das dezenas
def self.e90(mil)
- A0100[@lc][mil % 100 / 10] + (mil > 20 && (mil % 10).positive? ? ' E ' : '')
+ A0100[@lc][mil % 100 / 10] +
+ (mil > 20 && (mil % 10).positive? ? ' E ' : '') # proposicao
end
# Produz o extenso das unidades em portugues de portugal ou brasil.
#
# @param [Integer] cem o valor dum grupo 3 digitos a converter
@@ -102,11 +103,11 @@
#
# @param [Integer] pos posicao actual nos grupos 3 digitos do valor monetario
# @return [String] qualificador grupo de 3 digitos
def self.e1e24(pos)
if @ai[pos].positive?
- A1E24[@lc][@ai[pos] > 1 ? 8 + pos : pos]
+ @ai[pos] > 1 ? P1E24[@lc][pos] : S1E24[@lc][pos]
else
''
end
end
@@ -166,12 +167,9 @@
# parte fracionaria do valor monetario
# ex: 123022.12 => 12
# arredondada a 2 casas decimais (centimos/centavos)
@nf = (dig[/\.\d*/].to_f * 100).round
end
-
- private_class_method :pintfra, :pcontrolo, :esep, :edg3, :e1e24,
- :e900, :e90, :e9, :ef99, :efim
# Converte um objeto criando extenso(s) em portugues de portugal ou brasil.
#
# @param [Object] objeto objeto a converter
# (String, Float, Integer, Array, Range, Hash)