lib/extenso_pt.rb in extenso_pt-0.6.8 vs lib/extenso_pt.rb in extenso_pt-0.6.9

- old
+ new

@@ -11,53 +11,53 @@ module ExtensoPt class Error < StandardError; end # Produz extenso em portugues de portugal ou brasil # (valor numerico pode ser uma string digitos) # - # @param [Hash] moeda as opcoes para parametrizar moeda/fracao + # @param [Hash<String, Symbol>] moeda opcoes parametrizar moeda/fracao # @option moeda [Symbol] :lc locale do extenso - # portugues de portugal (:pt) portugues do brasil (:br) # @option moeda [String] :moeda_singular moeda no singular # @option moeda [String] :fracao_singular fracao no singular # @option moeda [String] :moeda_plural moeda no plural # @option moeda [String] :fracao_plural fracao no plural - # @return [String, Array, Hash] - # string<extenso> se objecto for (String, Float, Integer), - # array<extensos> se objecto for (Array, Range), - # hash<extensos> se objecto for (Hash) + # @return [String, Array<String>, Hash<String>] + # String<extenso> se objecto for (String, Float, Integer), + # Array<extensos> se objecto for (Array, Range), + # Hash<extensos> se objecto for (Hash) def extenso(moeda = { lc: :pt }) # parametrizar moeda - ExtensoPt.epmo(moeda.parametrizar) + ExtensoPt.prmo(moeda.parametrizar) processa end # Processa objeto criando extenso(s) em portugues de portugal ou brasil # - # @return [String, Array, Hash] - # string<extenso> se objecto for (String, Float, Integer), - # array<extensos> se objecto for (Array, Range), - # hash<extensos> se objecto for (Hash) + # @return [String, Array<String>, Hash<String>] + # String<extenso> se objecto for (String, Float, Integer), + # Array<extensos> se objecto for (Array, Range), + # Hash<extensos> se objecto for (Hash) def processa # converte valores do Hash nos seus extensos if is_a?(Hash) then map { |k, v| [k, v.processa] }.to_h # converte objecto num Array com os valores convertidos nos seus extensos elsif respond_to?(:to_a) then to_a.map(&:processa) else # converte objeto em string digitos utilizando bigdecimal para # evitar problemas com aritmetica virgula flutuante em valores >1e12 # parametrizar parte inteira/fracionaria (@ai, @nf) da string digitos - ExtensoPt.epif(to_d.to_s('F')) + ExtensoPt.prif(to_d.to_s('F')) # processar extenso - valores >1e24 sao ignorados - ExtensoPt.ivai.count > 8 ? '' : ExtensoPt.ejun(0, '') + ExtensoPt.cvai.count > 8 ? '' : ExtensoPt.ejun end end # Parametrizacao por defeito para :br # - # @return [Hash] parametrizacao moeda + # @return [Hash<String, Symbol>] parametrizacao moeda def parametrizar if value?(:br) && %i[moeda_singular moeda_plural].all? { |e| !keys.include?(e) } { lc: :br, moeda_singular: 'REAL', moeda_plural: 'REAIS', fracao_singular: 'CENTAVO', fracao_plural: 'CENTAVOS' } @@ -66,10 +66,10 @@ end end # Parametrizacao singular inferindo do plural # - # @return [Hash] parametrizacao moeda + # @return [Hash<String, Symbol>] parametrizacao moeda def inferir_singular self[:moeda_singular] ||= if fetch(:moeda_plural, '')[-1] == 'S' fetch(:moeda_plural, '')[0..-2] end self[:fracao_singular] ||= if fetch(:fracao_plural, '')[-1] == 'S'