extenso_pt 0.3.8 → 0.3.9
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/hernanilr/extenso_pt.svg?branch=master)](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: []
|