extenso_pt 0.1.2 → 0.2.0
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 +10 -5
- data/lib/extenso_pt/version.rb +1 -1
- data/lib/extenso_pt.rb +6 -14
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 1a9efabff2894e795911fb3c8ec07c284f229c1e2b223c1db8a130a93e3521ee
|
|
4
|
+
data.tar.gz: 87d91524f8940bc6fa1f44defc8ba45f39f89ed1d4a7a94bf66cebadfcfd6aeb
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 98fcc9bd18e8f49fdaee02c62828492963ef9eaa46ac8c3cc2b2675f196f3ea00da399de9f0ea263ba5ee11108813293ec0fc92750e5631c12a3e4bf75625c57
|
|
7
|
+
data.tar.gz: b3a51e03222cf8767d6f87e96c6591020eb97f1fbffa0620f46f81498e61fbd786b206902f64df52d7bdabdc5d30952d966c38bece0acbfeb09f3f1b6d007874
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ExtensoPt
|
|
2
2
|
|
|
3
|
-
Produz valores monetários por extenso e em portugês de portugal. Os valores monetários podem ser um numerico ou uma string de digitos. O extenso será produzido na escala
|
|
3
|
+
Produz valores monetários por extenso e em portugês de portugal. Os valores monetários podem ser um numerico ou uma string de digitos. O extenso será produzido na escala longa [wiki](ihttps://pt.wikipedia.org/wiki/Escalas_curta_e_longa), utilizada em todos os países lusófonos (à excepção do Brasil), podendo escolher a moeda.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -21,9 +21,14 @@ Or install it yourself as:
|
|
|
21
21
|
## Usage
|
|
22
22
|
|
|
23
23
|
```ruby
|
|
24
|
-
"1234.10".extenso
|
|
25
|
-
|
|
26
|
-
1.extenso("
|
|
24
|
+
"1234.10".extenso => "MIL DUZENTOS E TRINTA E QUATRO EUROS E DEZ CÊNTIMOS"
|
|
25
|
+
12000000.12.extenso => "DOZE MILHÕES DE EUROS E DOZE CÊNTIMOS"
|
|
26
|
+
1.01.extenso(moeda:"DÓLAR") => "UM DÓLAR E UM CÊNTIMO"
|
|
27
|
+
10.1.extenso(moedap:"DÓLARES") => "DEZ DÓLARES E DEZ CÊNTIMOS"
|
|
28
|
+
1.01.extenso(moeda:"REAL",fracao:"CENTAVO") => "UM REAL E UM CENTAVO"
|
|
29
|
+
1.10.extenso(moeda:"REAL",fracao:CENTAVO") => "UM REAL E DEZ CENTAVOS"
|
|
30
|
+
2.00.extenso(moedap:"REAIS") => "DOIS REAIS"
|
|
31
|
+
2.10.extenso(moedap:"REAIS",fracaop:"CENTAVOS") => "DOIS REAIS E DEZ CENTAVOS"
|
|
27
32
|
```
|
|
28
33
|
|
|
29
34
|
## Development
|
|
@@ -34,7 +39,7 @@ To install this gem onto your local machine, run `bundle exec rake install`. To
|
|
|
34
39
|
|
|
35
40
|
## Contributing
|
|
36
41
|
|
|
37
|
-
Bug reports and pull requests are welcome on GitHub at https://github.com/
|
|
42
|
+
Bug reports and pull requests are welcome on GitHub at [github](https://github.com/hernanilr/extenso_pt).
|
|
38
43
|
|
|
39
44
|
## License
|
|
40
45
|
|
data/lib/extenso_pt/version.rb
CHANGED
data/lib/extenso_pt.rb
CHANGED
|
@@ -21,22 +21,14 @@ module ExtensoPt
|
|
|
21
21
|
def self.i(n,p)s=n%100;l((n>100?1:0)+n/100)+f1(n)+c(s/10)+f2(s)+z(p==1&&n==1?0:s<20?s:s%10)end
|
|
22
22
|
def self.w(u,d)t=u.find{|v|v>0}.to_i+u[1..-1].to_a.find{|v|v>0}.to_i;f7(u,t+d)+f4(t)+f6(t,d)+i(d,0)+f5(d)end
|
|
23
23
|
def self.r(g,j,p)t=j[p];p>=j.count*1?g:r(i(t,p)+h(t>0?t>1?8+p:p:0)+f3(p>0?j[p-1]:0)+g,j,p+1)end
|
|
24
|
-
def extenso(
|
|
24
|
+
def extenso(f={moeda:"EURO",fracao:"CÊNTIMO",moedap:"EUROS",fracaop:"CÊNTIMOS"})
|
|
25
25
|
n=(self.is_a?String)?self:'%.2f'%self
|
|
26
|
-
@@ms=
|
|
27
|
-
@@mp=
|
|
28
|
-
@@cp=(a4)?cs+"S":cp
|
|
26
|
+
@@ms=f[:moeda]?f[:moeda]:"EURO";@@cs=f[:fracao]?f[:fracao]:"CÊNTIMO"
|
|
27
|
+
@@mp=f[:moedap]?f[:moedap]:@@ms+"S";@@cp=f[:fracaop]?f[:fracaop]:@@cs+"S"
|
|
29
28
|
q=n[/^\d+/].to_s.reverse.scan(/\d{1,3}/).map{|i|i.reverse.to_i}
|
|
30
29
|
q.count>8?"":ExtensoPt.r("",q,0)+ExtensoPt.w(q,(n[/\.\d*/].to_f*100).round)
|
|
31
30
|
end
|
|
32
31
|
end
|
|
33
|
-
class String
|
|
34
|
-
include ExtensoPt
|
|
35
|
-
end
|
|
36
|
-
class Float
|
|
37
|
-
include ExtensoPt
|
|
38
|
-
end
|
|
39
|
-
class Integer
|
|
40
|
-
include ExtensoPt
|
|
41
|
-
end
|
|
42
|
-
|
|
32
|
+
class String; include ExtensoPt;end
|
|
33
|
+
class Float; include ExtensoPt;end
|
|
34
|
+
class Integer;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.
|
|
4
|
+
version: 0.2.0
|
|
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-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|