nubefact 0.0.9 → 0.0.14
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 +5 -5
- data/Gemfile +4 -1
- data/Gemfile.lock +6 -6
- data/lib/nube_fact/credit_note.rb +6 -1
- data/lib/nube_fact/document.rb +1 -1
- data/lib/nube_fact/document/item.rb +3 -2
- data/lib/nube_fact/invoice.rb +2 -2
- data/lib/nube_fact/version.rb +1 -1
- data/lib/util/sunat.rb +1 -1
- data/lib/util/validator.rb +10 -8
- data/nubefact.gemspec +2 -2
- metadata +7 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: a7aa8ca8366865259a8ceead663f5b2659f3d4f751c03b79453ff84f24d624bc
|
4
|
+
data.tar.gz: f7d0aa8372bf8ef4caa1af07d4cbfbe19d0e31e867b1b764d4345547b267bdfb
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3337dc283599113c474ac2197a888d418a3b9b90537e4105963c0f8a576f9ee697f5b9230db1a96ac3b3d2fc709af6f808db45906a8f22985f9a8add77b2fe63
|
7
|
+
data.tar.gz: 2194586954bac0c0201ddbc26b47359545c47b3768e21772b47bc6bca6430e060eddb94f52213760d860bb4f7720f4735e25ee89dd1572a4a5e9b945fa51cdc9
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
nubefact (0.0.
|
4
|
+
nubefact (0.0.12)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -16,9 +16,9 @@ GEM
|
|
16
16
|
hashdiff (0.3.6)
|
17
17
|
json (2.1.0)
|
18
18
|
method_source (0.9.0)
|
19
|
-
|
20
|
-
nokogiri (1.6.
|
21
|
-
|
19
|
+
mini_portile2 (2.0.0)
|
20
|
+
nokogiri (1.6.7.2)
|
21
|
+
mini_portile2 (~> 2.0.0.rc2)
|
22
22
|
pry (0.11.1)
|
23
23
|
coderay (~> 1.1.0)
|
24
24
|
method_source (~> 0.9.0)
|
@@ -53,7 +53,7 @@ PLATFORMS
|
|
53
53
|
|
54
54
|
DEPENDENCIES
|
55
55
|
bundler (~> 1.13)
|
56
|
-
nokogiri (~> 1.6)
|
56
|
+
nokogiri (~> 1.6.7.2)
|
57
57
|
nubefact!
|
58
58
|
pry
|
59
59
|
rake (~> 10.0)
|
@@ -62,4 +62,4 @@ DEPENDENCIES
|
|
62
62
|
webmock
|
63
63
|
|
64
64
|
BUNDLED WITH
|
65
|
-
1.
|
65
|
+
1.16.1
|
@@ -1,9 +1,14 @@
|
|
1
1
|
class NubeFact::CreditNote < NubeFact::Document
|
2
2
|
TIPO_DE_COMPROBANTE = 3
|
3
3
|
|
4
|
+
add_required_fields *%i( documento_que_se_modifica_tipo
|
5
|
+
documento_que_se_modifica_serie
|
6
|
+
documento_que_se_modifica_numero
|
7
|
+
tipo_de_nota_de_credito)
|
8
|
+
|
4
9
|
DEFAULT_DATA = {
|
5
10
|
operacion: 'generar_comprobante',
|
6
|
-
tipo_de_comprobante:
|
11
|
+
tipo_de_comprobante: TIPO_DE_COMPROBANTE,
|
7
12
|
serie: 'F',
|
8
13
|
sunat_transaction: 1,
|
9
14
|
fecha_de_emision: ->(_i) { Date.today },
|
data/lib/nube_fact/document.rb
CHANGED
@@ -40,11 +40,12 @@ class NubeFact::Document::Item
|
|
40
40
|
# Total de la linea
|
41
41
|
"anticipo_regularizacion",
|
42
42
|
"anticipo_documento_serie",
|
43
|
-
"anticipo_documento_numero"
|
43
|
+
"anticipo_documento_numero",
|
44
|
+
'codigo_producto_sunat'
|
44
45
|
]
|
45
46
|
attr_accessor *FIELDS
|
46
47
|
|
47
|
-
|
48
|
+
add_required_fields *%i(
|
48
49
|
unidad_de_medida
|
49
50
|
descripcion
|
50
51
|
cantidad
|
data/lib/nube_fact/invoice.rb
CHANGED
@@ -3,8 +3,8 @@ class NubeFact::Invoice < NubeFact::Document
|
|
3
3
|
|
4
4
|
DEFAULT_DATA = {
|
5
5
|
operacion: 'generar_comprobante',
|
6
|
-
tipo_de_comprobante:
|
7
|
-
serie: 'F',
|
6
|
+
tipo_de_comprobante: TIPO_DE_COMPROBANTE,
|
7
|
+
serie: 'F',
|
8
8
|
sunat_transaction: 1,
|
9
9
|
fecha_de_emision: ->(_i) { Date.today },
|
10
10
|
porcentaje_de_igv: 18,
|
data/lib/nube_fact/version.rb
CHANGED
data/lib/util/sunat.rb
CHANGED
@@ -27,7 +27,7 @@ module NubeFact::Sunat
|
|
27
27
|
def dollar_from_sunat(date = Date.today)
|
28
28
|
raise InvalidDate if date.year < 2000 || date.year > Time.now.year
|
29
29
|
|
30
|
-
doc = Nokogiri::HTML(open("
|
30
|
+
doc = Nokogiri::HTML(open("https://e-consulta.sunat.gob.pe/cl-at-ittipcam/tcS01Alias?mes=#{date.month}&anho=#{date.year}")) do |config|
|
31
31
|
config.noblanks
|
32
32
|
end
|
33
33
|
|
data/lib/util/validator.rb
CHANGED
@@ -1,21 +1,23 @@
|
|
1
1
|
module NubeFact::Validator
|
2
|
+
# Following methods solve the issue of having required fields inherits from a base class
|
3
|
+
|
2
4
|
def self.included(klass)
|
3
5
|
klass.extend ClassMethods
|
4
|
-
klass.class_variable_set :@@required_fields, []
|
5
6
|
end
|
6
7
|
|
7
8
|
module ClassMethods
|
9
|
+
# When a class is inherited eg. Invoice, it sets the required fields from
|
10
|
+
# the base class eg. Document to use it as a base
|
11
|
+
def inherited(child_class)
|
12
|
+
child_class.instance_variable_set :@required_fields, self.required_fields
|
13
|
+
end
|
14
|
+
|
8
15
|
def add_required_fields(*fields)
|
9
|
-
|
10
|
-
|
11
|
-
self.class_variable_set :@@required_fields, \
|
12
|
-
required_fields + fields
|
16
|
+
@required_fields = required_fields + fields
|
13
17
|
end
|
14
18
|
|
15
19
|
def required_fields
|
16
|
-
required_fields
|
17
|
-
return self::REQUIRED_FIELDS if required_fields.empty?
|
18
|
-
required_fields
|
20
|
+
@required_fields || []
|
19
21
|
end
|
20
22
|
end
|
21
23
|
|
data/nubefact.gemspec
CHANGED
@@ -31,9 +31,9 @@ Gem::Specification.new do |spec|
|
|
31
31
|
spec.require_paths = ["lib"]
|
32
32
|
|
33
33
|
spec.add_development_dependency "bundler", "~> 1.13"
|
34
|
-
spec.add_development_dependency "rake", "~>
|
34
|
+
spec.add_development_dependency "rake", "~> 12.3.3"
|
35
35
|
spec.add_development_dependency "rspec", "~> 3.6"
|
36
|
-
spec.add_development_dependency "nokogiri", '~> 1.
|
36
|
+
spec.add_development_dependency "nokogiri", '~> 1.10.8'
|
37
37
|
# spec.add_development_dependency "simplecov"
|
38
38
|
# spec.add_development_dependency "webmock"
|
39
39
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nubefact
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.14
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arnold Roa
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-10-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -30,14 +30,14 @@ dependencies:
|
|
30
30
|
requirements:
|
31
31
|
- - "~>"
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version:
|
33
|
+
version: 12.3.3
|
34
34
|
type: :development
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
|
-
version:
|
40
|
+
version: 12.3.3
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: rspec
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
61
|
+
version: 1.10.8
|
62
62
|
type: :development
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - "~>"
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version:
|
68
|
+
version: 1.10.8
|
69
69
|
description: Ruby gem to consume NubeFact API to generate electronic tax document
|
70
70
|
in PERU.
|
71
71
|
email:
|
@@ -119,8 +119,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
119
119
|
- !ruby/object:Gem::Version
|
120
120
|
version: '0'
|
121
121
|
requirements: []
|
122
|
-
|
123
|
-
rubygems_version: 2.4.6
|
122
|
+
rubygems_version: 3.0.3
|
124
123
|
signing_key:
|
125
124
|
specification_version: 4
|
126
125
|
summary: Ruby gem to consume NubeFact API to generate electronic tax document in PERU.
|