arca.rb 1.0.1 → 1.0.2
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/CHANGELOG.md +6 -0
- data/Gemfile.lock +4 -4
- data/arca.gemspec +1 -1
- data/lib/arca/version.rb +1 -1
- data/lib/arca/wsaa.rb +3 -3
- data/test/arca/wsaa_test.rb +10 -0
- metadata +2 -6
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 81ac40aba0c7a3e67dc24402f3888da7af56ab40d785511da1ca310b2a3054e5
|
|
4
|
+
data.tar.gz: 41b29c0590307f836ccbe05d57d6f291382f0c545b6a8f1161533de6fcb24622
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: ca0895cc00a9f1ebe502fb3021f1305b9073ce1d28b5bab672cac50e124ee2639d88f472659ad17819b6295069e6a28d10603cd48e5d2390eb7fd6b9fe69c03f
|
|
7
|
+
data.tar.gz: 61c8e280fdd2f2d7e177e21fba6ddd5f2b46e25c1f98a98f93ead854e3ba747eb6c935723c5b02968c87913441152d7cdfd794369ac0ca7f6bd4c87d20542384
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Arca Changelog
|
|
2
2
|
|
|
3
|
+
## [1.0.2] - 2025-02-09
|
|
4
|
+
|
|
5
|
+
- **Errores:** En WSAA, `persist_ta` ahora encapsula fallos en `Arca::ServerError` en lugar de re-levantar excepciones crudas (mejor encapsulación y menos riesgo de filtrar datos sensibles en logs).
|
|
6
|
+
- **Test:** Añadido test que verifica que `persist_ta` levanta `ServerError` con la excepción original en `cause`.
|
|
7
|
+
- Actualización de gems/dependencias.
|
|
8
|
+
|
|
3
9
|
## [1.0.1] - 2025-02-05
|
|
4
10
|
- Fix ruta hardcodeada de certificados SSL CA. Usar OpenSSL::X509::DEFAULT_CERT_FILE en lugar de la ruta hardcodeada
|
|
5
11
|
/etc/ssl/certs/ca-certificates.crt para soportar múltiples plataformas.
|
data/Gemfile.lock
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
arca.rb (1.0.
|
|
4
|
+
arca.rb (1.0.2)
|
|
5
5
|
activesupport
|
|
6
6
|
builder
|
|
7
7
|
httpclient
|
|
@@ -39,7 +39,7 @@ GEM
|
|
|
39
39
|
connection_pool (3.0.2)
|
|
40
40
|
date (3.5.1)
|
|
41
41
|
drb (2.2.3)
|
|
42
|
-
faraday (2.14.
|
|
42
|
+
faraday (2.14.1)
|
|
43
43
|
faraday-net_http (>= 2.0, < 3.5)
|
|
44
44
|
json
|
|
45
45
|
logger
|
|
@@ -58,7 +58,7 @@ GEM
|
|
|
58
58
|
i18n (1.14.8)
|
|
59
59
|
concurrent-ruby (~> 1.0)
|
|
60
60
|
io-console (0.8.2)
|
|
61
|
-
json (2.18.
|
|
61
|
+
json (2.18.1)
|
|
62
62
|
language_server-protocol (3.17.0.5)
|
|
63
63
|
lint_roller (1.1.0)
|
|
64
64
|
logger (1.7.0)
|
|
@@ -111,7 +111,7 @@ GEM
|
|
|
111
111
|
reline (0.6.3)
|
|
112
112
|
io-console (~> 0.5)
|
|
113
113
|
rexml (3.4.4)
|
|
114
|
-
rubocop (1.84.
|
|
114
|
+
rubocop (1.84.1)
|
|
115
115
|
json (~> 2.3)
|
|
116
116
|
language_server-protocol (~> 3.17.0.2)
|
|
117
117
|
lint_roller (~> 1.1.0)
|
data/arca.gemspec
CHANGED
|
@@ -12,7 +12,7 @@ Gem::Specification.new do |s|
|
|
|
12
12
|
s.email = [ 'hola@arcakit.dev' ]
|
|
13
13
|
s.homepage = 'https://arcakit.dev'
|
|
14
14
|
s.summary = 'Cliente Ruby para webservices de AFIP/ARCA: facturación electrónica, comprobantes y servicios tributarios de Argentina'
|
|
15
|
-
s.description = 'Cliente Ruby para integrar webservices SOAP de ARCA/
|
|
15
|
+
s.description = 'Cliente Ruby para integrar webservices SOAP de ARCA/AFIP en Argentina.'
|
|
16
16
|
s.license = 'MIT'
|
|
17
17
|
|
|
18
18
|
s.files = `git ls-files`.split("\n")
|
data/lib/arca/version.rb
CHANGED
data/lib/arca/wsaa.rb
CHANGED
|
@@ -116,13 +116,13 @@ module Arca
|
|
|
116
116
|
temp_path = "#{@ta_path}.#{Process.pid}.tmp"
|
|
117
117
|
File.write(temp_path, JSON.generate(payload))
|
|
118
118
|
File.rename(temp_path, @ta_path)
|
|
119
|
-
rescue StandardError
|
|
119
|
+
rescue StandardError => e
|
|
120
120
|
File.delete(temp_path) if defined?(temp_path) && File.exist?(temp_path)
|
|
121
|
-
raise
|
|
121
|
+
raise ServerError, e
|
|
122
122
|
end
|
|
123
123
|
|
|
124
124
|
def xsd_datetime(time)
|
|
125
|
-
time.strftime("%Y-%m-%dT%H:%M:%S%z").sub
|
|
125
|
+
time.strftime("%Y-%m-%dT%H:%M:%S%z").sub(/(\d{2})(\d{2})$/, '\1:\2')
|
|
126
126
|
end
|
|
127
127
|
|
|
128
128
|
def from_xsd_datetime(str)
|
data/test/arca/wsaa_test.rb
CHANGED
|
@@ -76,5 +76,15 @@ module Arca
|
|
|
76
76
|
subject.auth
|
|
77
77
|
assert_equal "t2", subject.ta[:token]
|
|
78
78
|
end
|
|
79
|
+
|
|
80
|
+
def test_persist_ta_encapsula_errores_en_server_error
|
|
81
|
+
File.stubs(:write).raises(Errno::EACCES.new("Permission denied"))
|
|
82
|
+
ta = { token: "t", sign: "s", generation_time: Time.now, expiration_time: Time.now + 60 }
|
|
83
|
+
ws = WSAA.new(wsdl: Arca::WSFE::WSDL[:test])
|
|
84
|
+
|
|
85
|
+
error = assert_raises(ServerError) { ws.send(:persist_ta, ta) }
|
|
86
|
+
assert_equal Errno::EACCES, error.cause.class
|
|
87
|
+
assert_match(/Permission denied/, error.cause.message)
|
|
88
|
+
end
|
|
79
89
|
end
|
|
80
90
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: arca.rb
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 1.0.
|
|
4
|
+
version: 1.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Arca Kit
|
|
@@ -149,11 +149,7 @@ dependencies:
|
|
|
149
149
|
- - "~>"
|
|
150
150
|
- !ruby/object:Gem::Version
|
|
151
151
|
version: 2.15.0
|
|
152
|
-
description: Cliente Ruby para integrar webservices SOAP de ARCA/
|
|
153
|
-
Soporta facturación electrónica (WSFE), factura electrónica de crédito MiPyMEs (WSFeCred),
|
|
154
|
-
autenticación WSAA, consulta de padrón de contribuyentes, constatación de comprobantes
|
|
155
|
-
fiscales y todos los servicios tributarios de la API de AFIP. Ideal para aplicaciones
|
|
156
|
-
Rails que necesitan generar facturas electrónicas y comprobantes en Argentina.
|
|
152
|
+
description: Cliente Ruby para integrar webservices SOAP de ARCA/AFIP en Argentina.
|
|
157
153
|
email:
|
|
158
154
|
- hola@arcakit.dev
|
|
159
155
|
executables:
|