extenso_pt 0.3.8 → 0.3.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +7 -1
- data/extenso_pt.gemspec +2 -1
- data/lib/extenso_pt/version.rb +1 -1
- data/lib/extenso_pt.rb +13 -6
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ea7aeb525028a297a2fda541c282085ce24bea60bd7699c0477032af6b1baccb
|
4
|
+
data.tar.gz: d56765485363961a8b7c1435184ac0752068bae639e0911e62c9bdd8c7970677
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 74d312101ad0d06e082da295fb39ad70f4b309e41444cedf757ac8a07adaf479c12a314e922cf05d33d8c2bae3276e7ba8bc2676247dd9a1281bc5f53f79ca16
|
7
|
+
data.tar.gz: 318aca08d581cf3cd332d0abbd7f1d43c762f57d792e07375d7ac304c360989c8888f9bf8d76ca54ed2cc3401ac89e3d315719b93ff68633f3ee327d3d96f055
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# ExtensoPt [](https://travis-ci.org/hernanilr/extenso_pt)
|
2
2
|
|
3
|
-
Produz valores monetários por extenso em portugês de portugal ou brasil. Os valores podem ser um numerico
|
3
|
+
Produz valores monetários por extenso em portugês de portugal ou brasil. Os valores podem ser um numerico, uma string de digitos ou um conjunto destes (array, range, hash). O extenso pode ser produzido na escala longa (utilizada em todos os países lusófonos) ou na escala curta (utilizada no Brasil) [wiki](https://pt.wikipedia.org/wiki/Escalas_curta_e_longa). Pode ainda escolher a moeda e a fração da moeda.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
@@ -31,6 +31,12 @@ Or install it yourself as:
|
|
31
31
|
1e10.extenso(mplural:"REAIS") => "DEZ MIL MILHÕES DE REAIS" # portugal usa escala longa
|
32
32
|
1e10.extenso(lc: :br) => "DEZ BILHÕES DE REAIS" # brasil usa escala curta
|
33
33
|
14.01.extenso(mplural:"REAIS",fplural:"CENTAVOS") => "CATORZE REAIS E UM CENTAVO" # singular inferido <plural> menos "S"
|
34
|
+
(1..2).extenso => ["UM EURO","DOIS EUROS"] # extenso Range
|
35
|
+
{a:1,b:2}.extenso => ["UM EURO","DOIS EUROS"] # extenso Hash
|
36
|
+
["1","2"].extenso => ["UM EURO","DOIS EUROS"] # extenso Array
|
37
|
+
[0.1,0.2].extenso => ["DEZ CÊNTIMOS","VINTE CÊNTIMOS"]
|
38
|
+
{a:[3,4],b:2}.extenso => [["TRÊS EUROS", "QUATRO EUROS"],"DOIS EUROS"]
|
39
|
+
|
34
40
|
```
|
35
41
|
|
36
42
|
## Development
|
data/extenso_pt.gemspec
CHANGED
@@ -9,7 +9,8 @@ Gem::Specification.new do |spec|
|
|
9
9
|
spec.email = ["hernanirvaz@gmail.com"]
|
10
10
|
|
11
11
|
spec.summary = %q{Produz valores monetários por extenso em portugês de portugal ou brasil.}
|
12
|
-
spec.description = spec.summary+%q{ Os valores podem ser um numerico
|
12
|
+
spec.description = spec.summary+%q{ Os valores podem ser um numerico, uma string de digitos ou um conjunto destes (array, range, hash). O extenso pode ser produzido na escala longa (utilizada em todos os países lusófonos) ou na escala curta (utilizada no Brasil). Pode ainda escolher a moeda e a fração da moeda.}
|
13
|
+
|
13
14
|
spec.homepage = "https://github.com/hernanilr/extenso_pt"
|
14
15
|
spec.license = "MIT"
|
15
16
|
|
data/lib/extenso_pt/version.rb
CHANGED
data/lib/extenso_pt.rb
CHANGED
@@ -98,7 +98,7 @@ module ExtensoPt
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
-
# Converte um objeto
|
101
|
+
# Converte um objeto no seu extenso em portugûes de portugal ou brasil.
|
102
102
|
#
|
103
103
|
# @param [Hash] moeda as opcoes para parametrizar a moeda/fração
|
104
104
|
# @option moeda [Symbol] :lc locale do extenso - portugûes de portugal (:pt) ou brasil (:br)
|
@@ -106,7 +106,7 @@ module ExtensoPt
|
|
106
106
|
# @option moeda [String] :fsingular Fração no singular - por defeito pode ser obtida do <b>:fplural menos "S"</b> (se terminar em "S")
|
107
107
|
# @option moeda [String] :mplural Moeda no plural - por defeito pode ser obtida do <b>:msingular+"S"</b>
|
108
108
|
# @option moeda [String] :fplural Fração no plural - por defeito pode ser obtida do <b>:fsingular+"S"</b>
|
109
|
-
# @return [String] o
|
109
|
+
# @return [String, Array<String>] extenso se o objecto for (String, Float, Integer) ou Array dos extensos se o objecto for (Array, Range, Hash)
|
110
110
|
def extenso(moeda={lc:(:pt),msingular:"EURO",fsingular:"CÊNTIMO"})
|
111
111
|
moeda={lc:(:br),msingular:"REAL",mplural:"REAIS",fsingular:"CENTAVO"} if (moeda[:lc]==:br&&!moeda[:mplural]&&!moeda[:fplural])
|
112
112
|
@@lc=LC.include?(moeda[:lc])?moeda[:lc]:(:pt)
|
@@ -114,12 +114,19 @@ module ExtensoPt
|
|
114
114
|
@@cs=moeda[:fsingular]?moeda[:fsingular]:moeda[:fplural].to_s[-1]=="S"?moeda[:fplural][0..-2]:"CÊNTIMO"
|
115
115
|
@@mp=moeda[:mplural]?moeda[:mplural]:@@ms+"S"
|
116
116
|
@@cp=moeda[:fplural]?moeda[:fplural]:@@cs+"S"
|
117
|
-
|
118
|
-
|
119
|
-
|
117
|
+
if (self.respond_to?:to_a)
|
118
|
+
self.to_a.map{|a|a.extenso(lc:(@@lc),msingular:@@ms,fsingular:@@cs,mplural:@@mp,fplural:@@cp)}
|
119
|
+
else
|
120
|
+
n=self.to_d.to_s('F')
|
121
|
+
@@ai=n[/^\d+/].to_s.reverse.scan(/\d{1,3}/).map{|i|i.reverse.to_i}
|
122
|
+
@@ai.count>8?"":ExtensoPt.erecursivo+ExtensoPt.fracao((n[/\.\d*/].to_f*100).round)
|
123
|
+
end
|
120
124
|
end
|
121
125
|
|
122
126
|
end
|
123
|
-
class
|
127
|
+
class Hash; include ExtensoPt;def to_a;self.values;end;end
|
128
|
+
class Array; include ExtensoPt;end
|
129
|
+
class Range; include ExtensoPt;end
|
124
130
|
class Float; include ExtensoPt;end
|
125
131
|
class Integer;include ExtensoPt;end
|
132
|
+
class String; include ExtensoPt;end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: extenso_pt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hernâni Rodrigues Vaz
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-09-
|
11
|
+
date: 2019-09-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -67,9 +67,10 @@ dependencies:
|
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.4.4
|
69
69
|
description: Produz valores monetários por extenso em portugês de portugal ou brasil.
|
70
|
-
Os valores podem ser um numerico
|
71
|
-
na escala longa (utilizada em todos os
|
72
|
-
|
70
|
+
Os valores podem ser um numerico, uma string de digitos ou um conjunto destes (array,
|
71
|
+
range, hash). O extenso pode ser produzido na escala longa (utilizada em todos os
|
72
|
+
países lusófonos) ou na escala curta (utilizada no Brasil). Pode ainda escolher
|
73
|
+
a moeda e a fração da moeda.
|
73
74
|
email:
|
74
75
|
- hernanirvaz@gmail.com
|
75
76
|
executables: []
|